$url = 'https://book.douban.com/subject/1023045/comments/' $ie = Invoke-WebRequest -URI $url $data = $ie.ParsedHtml.getElementsByClassName('comment-content') $data|%{$_.outerText} 上面的可以获取到ClassName -eq "comment-content"内容 为什么下面的获取不到ClassName -eq "comment-content"内容 $response = Invoke-WebRequest -Uri $url $content = $response.AllElements | Where-Object { $_.ClassName -eq "comment-content" } | Select-Object -ExpandProperty InnerText
时间: 2024-02-01 21:12:15 浏览: 27
可能是因为 `$response.AllElements` 返回的是页面上所有 HTML 元素,包括内嵌的、脚本生成的、隐藏的等等,而不仅仅是评论内容。尝试使用以下代码来筛选评论内容:
```powershell
$response = Invoke-WebRequest -Uri $url
$data = $response.ParsedHtml.getElementsByClassName('comment-content') | ForEach-Object { $_.outerText }
```
这样应该可以获取到所有类名为 `comment-content` 的元素的文本内容了。如果还有问题,请告诉我。
相关问题
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
你可以使用上述的 PowerShell 命令来下载 Ubuntu 20.04 的应用包。该命令使用 `Invoke-WebRequest` 函数来下载指定的 URL,并将文件保存为 `Ubuntu.appx`。参数 `-UseBasicParsing` 用于指定仅使用基本的解析功能来处理 HTML 内容。这样可以提高命令的执行效率。
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
这是一个 PowerShell 命令,用于从 GitHub 上下载一个名为 `install-docker-ce.ps1` 的脚本,并在当前目录下保存为 `install-docker-ce.ps1`,然后运行该脚本以安装 Docker CE(Community Edition)。
具体来说,该命令使用 `Invoke-WebRequest` 函数从指定的 URL 下载脚本文件,并使用 `-o` 参数指定保存的文件名和路径。然后,使用 `.\install-docker-ce.ps1` 命令运行该脚本文件以安装 Docker CE。 `-UseBasicParsing`参数用于不解析HTML,可以提高下载效率。