我想寫一個文檔,將通過編碼很差並返回標題元素的網頁。然而,製作我計劃抓取的網站的人沒有使用任何類,僅僅是div元素。繼承人的源網頁我試圖刮:試圖檢索文本只從與xpath的div
<tbody>
<tr>
<td style = "...">
<div style = "...">
<div style = "...">TEXT I WANT</div>
</div>
</td>
</tr>
</tbody>
,當我在鉻複製的XPath我得到這個字符串:
/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[1]/td/div/div[3]
我有麻煩搞清楚我把這個字符串在xpath查詢中。 如果不是xpath查詢,也許我應該做一個preg_match?
我嘗試這樣做:
$location = '/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[1]/td/div/div[3]';
$html = file_get_contents($URL);
$doc = new DomDocument();
$doc->loadHtml($html);
$xpath = new DomXPath($doc);
// Now query the document:
foreach ($xpath->query($location) as $node) {
echo $node, "\n";
}
但沒有打印的頁面。
謝謝。
編輯:全SOURSE代碼在這裏: http://pastebin.com/K5tZ4dFH
EDIT2:清潔代碼屏幕截圖:http://i.imgur.com/lWKheBy.png
嘗試回聲'$ node-> item(0);'循環內。 – Rikesh
沒有任何輸出。該頁面不是很乾淨的編碼,我可能需要清理DOM?其他代碼似乎有東西來清理它,但方法錯誤了,我找不到任何有關該方法的文檔。 @Rikesh –
@hwnd其上面的代碼,但代碼非常混亂,我試圖縮短它。編輯與一個pastebin源 –