[英]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.