[英]Scraping using DomXPath
使用PHP DomXPath抓取某些网站。
当前正在使用本教程遍历XPath。
我目前正在抓取该网站 ,获取角色名称和Steam ID(下面的XPath混乱是得到一个Steam ID的原因)。
我的问题是-有多个Steam ID和角色名称。 我辛苦创建的XPath只有一个。
我应该如何抓取所有 Steam ID而不是其中一个?
$xpath = new DomXPath($this->ourTeamHTML);
/* Set HTTP response header to plain text for debugging output */
header("Content-type: text/plain");
$steamName = $xpath->query('//*[@id="wrapper"]/section/div/div[1]/div[2]/div[2]/div[1]/div/div/div[1]/div/div[1]/h5/b');
/* Traverse the DOMNodeList object to output each DomNode's nodeValue */
foreach ($steamName as $node) {
echo "Steam Name: " . $node->nodeValue . "\n";
}
您的xpath太冗长,具有完整的路径和元素索引,阅读起来不直观,并且由于页面源的细微变化而趋于中断。 尝试使用以下更简单的xpath:
//*[@id="wrapper"]//div[@class='col-md-12']//h5/b
它对我有用,可以从链接页面获取所有Steam ID和字符名称(总共32个元素)(使用firefox的firepath附加组件进行了测试)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.