我无法从html页面中提取一些属性,并且需要一些想法来帮助我取消粘贴。使用xpath从网页中解析出html属性
我正在使用PowerShell,并使用htmlagilitypack来帮助我解析html。我有一个非常粗糙的版本,我可以用正则表达式做,但它并不总是工作,所以我认为更好的选择是使用xpath来解析结果。如果正则表达式是要走的路,请让我知道。
到目前为止,我已经能够抓住我感兴趣的页面并将它按行分开。
$results = $htmldoc.DocumentNode.SelectNodes("//p[@class='row']")
的页面被分割我试图使用XPath抢我感兴趣的信息的每一行迭代后。
ForEach ($item in $results) {
$ID=$null
$ID = $item.OuterHtml
}
这让我接近我所想,但它抓住了我不想要的其他一些信息。这里是$ item.outerhml在这一点上的样子。
OuterHtml :
Nov 27 iPhone and other Cell Phone Unlocks
cell phones - by dealer我只想要data-pid属性。
我已经尝试了一堆其他的方法来提取数据PID属性,但都没有成功。这是我尝试过的一种方法,但它一遍又一遍地返回相同的值。
$ID = $Date.DocumentNode.SelectSingleNode("//p/@data-pid")
我有一种感觉,这是简单的东西,但遇到了障碍。让我知道我需要发布什么其他信息。
2013-11-27
jmreicha
+0
你必须更清楚地说明什么_被卡住_的手段。你会得到一个编译/语法错误?你有运行时错误吗?你得到一个空的结果集? –
+0
我想提取每个表格行的data-pid属性并将其存储在一个变量中,但我无法正常工作。上面发布的代码将抓住我所需要的,但我只想从它获取data-pid属性。 –