我正在尝试检索有关网站的一些信息,我想查找特定的标签/类,然后返回包含的文本值 (innerHTML)。这是我到目前为止
$request = Invoke-WebRequest -Uri $url -UseBasicParsing
$HTML = New-Object -Com "HTMLFile"
$src = $request.RawContent
$HTML.write($src)
foreach ($obj in $HTML.all) {
$obj.getElementsByClassName('some-class-name')
}
Run Code Online (Sandbox Code Playgroud)
我认为将 HTML 转换为 HTML 对象存在问题,因为当我尝试“选择对象”时看到很多未定义的属性和空的结果。
所以花了两天后,我应该如何用Powershell解析HTML?
IHTMLDocument2方法,因为我没有安装 Office(无法使用 IHTMLDocument2)Invoke-Webrequest没有-UseBasicParsing因为PowerShell的挂起和产卵额外的窗口,同时(访问ParsedHTML财产了parsedhtml犯规响应,并在PowerShell中使用调用-WebRequest的3.0生成一个Windows安全警告)因此,由于使用正则表达式解析 HTML 是一个很大的禁忌,否则我该怎么做?似乎没有任何效果。