gpt4 book ai didi

html - 解析本地 HTML 文件

转载 作者:技术小花猫 更新时间:2023-10-29 12:23:40 25 4
gpt4 key购买 nike

我可以使用 PowerShell 来解析 HTML 页面

PS > $foo = Invoke-WebRequest http://example.com

PS > $foo.Links.Count
1

但是如果我下载页面

PS > Invoke-WebRequest -OutFile example.htm http://example.com

然后尝试解析下载的页面却给出了意想不到的结果

PS > $foo = Invoke-WebRequest file://$pwd/example.htm

PS > $foo.Links.Count
0

如何解析本地下载的页面?

最佳答案

Invoke-WebRequest 似乎可以很好地加载 file 协议(protocol) URI,但即使在 PowerShell 4.0(官方支持)中也无法解析它们。

不需要设置网站的替代方法是将 HTML 直接加载并解析为 MSHTML。

$html = New-Object -ComObject "HTMLFile";
$source = Get-Content -Path "file.html" -Raw;
$html.IHTMLDocument2_write($source);

$html.links.length;

请注意,当我对此进行测试时,单个

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

header 阻止了我的 HTML 解析,我不知道为什么 -- 该文档具有类似的 XHTML 样式的 header ,而 MSHTML 没有这些问题。

关于html - 解析本地 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com