我正在尝试从this website左侧的列表中检索数据。
数据的结构如下:
<ul class="sections nice_sel">
...
<li class="">
<a href="/c/london-bar/set-overviews-england-and-wales">IMPORTANT_DATA</a>
</li>
...
</ul>
我需要从列表中检索每个IMPORTANT_DATA
内部HTML项目。
我尝试按照this question获取代码:
$url = "http://www.legal500.com/c/london-bar"
$html = Invoke-WebRequest $url
$thelist = $html.ParsedHtml.body.getElementsByTagName('ul') |
Where {$_.getAttributeNode('class').Value -eq 'sections nice_sel'}
但我不确定如何从中获取孩子(<li>
)元素。
我还考虑过使用XPath,但我看不到将$html
变量传递给-Path
:
Select-XML -Path $html -XPath "//*[contains(@class, 'sections nice_sel')]"
Select-XML:无法找到驱动器。一个名为'PUBLIC'的驱动器 - // W3C // DTD XHTML 1.0 严格// EN“”http'不存在。 在行:1个字符:1 + Select-XML -Path $ html -XPath“// * [contains(@class,'Test')]” + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(html ... rict // EN“”http:String)[Select-Xml],Driv eNotFoundException + FullyQualifiedErrorId:DriveNotFound,Microsoft.PowerShell.Commands.SelectXmlCommand
我也尝试过:
$url = "http://www.legal500.com/c/london-bar"
$html = Invoke-WebRequest $url
$thelist = $html.ParsedHtml.body.getElementsByTagName('a') |
Where {$_.getAttributeNode('href').Value -contains '/c/london-bar/'}
但由于某种原因,这不会返回任何内容..(如$thelist
为空)