有一个使用‘Invoke-WebRequest’将其导出到变量的HTML文件,我想从其中从特定表中导出内容。
$Result=Invoke-WebRequestInvoke‘https://www.dailyfaceoff.com/teams/anaheim-ducks/line-combinations’
不幸的是,通过使用$Result.parsedHTML不会返回任何结果。因此,我考虑使用正则表达式来查找字符串。这就是我要找你帮忙的地方。
请求的操作:
- 在HTML文件中搜索id=LW1的表
- 在此单元格中搜索Hello World
- 导出内容《Hello World》
超文本标记语言结构:
<body ...>
<div ...>
<tbody>
<td id="LW1">
<a ....>
<span class="player-name">Hello World</span>
</a>
</td>
</tbody>
</div>
</body>
事先感谢您的任何意见或帮助!
尝试1:
$r = Invoke-WebRequest 'https://www.dailyfaceoff.com/teams/anaheim-ducks/line-combinations'
$table = $r.ParsedHtml.getElementsByTagName("table")
结果1:没有输出,看起来像是HTML结构阻止了解析操作。
试试2:
$r = Invoke-WebRequest 'https://www.dailyfaceoff.com/teams/anaheim-ducks/line-combinations'
$string = ($r.Content |
where {$_ -match '^a href.*LW1.*\ title=.*>/span.*'}) -replace '.*>'
结果2:正则表达式不匹配
1条答案
按热度按时间6ojccjat1#
Please don't try to parse HTML with regex, that's a terrible idea。您可以使用Com对象在PowerShell Core和Windows PowerShell中执行此操作: