我需要從互聯網的網頁上刮掉一段文字,我使用dom和xpath來查找數據,但是我似乎無法選擇我需要的確切信息。這是我的代碼到目前爲止,問題是與項目(0) - > nodeValue部分 - 這適用於我的另一個頁面,但不是這一個我的其他擦傷。Dom和XPath刮 - 這裏有什麼不對?
$argos_html = file_get_html('http://www.argos.co.uk/static/Product/partNumber/9282197/Trail/searchtext%3EIPOD+TOUCH.htm');
$dom_argos= new DOMDocument();
$dom_argos->loadHTML($argos_html);
$xpath_argos = new DOMXpath($dom_argos);
$expr_currys = "/html/body/div[4]/div[3]/form/div[2]/div/div[5]/ul/li[3]/span";
$nodes_argos = $xpath_argos->query($expr_argos);
$argos_stock_data = $nodes_argos->item(0)->nodeValue;
任何人都可以告訴我我要去哪裏嗎?因爲我總是得到一個錯誤,它涉及 - > item(0) - > nodeValue;部分,但如果我發表評論,沒有錯誤,但沒有收集數據...
它應該可能只是 - > nodeValue;
我明白這可能歸結爲頁面結構,但我對所有這些都是新的! THX
錯誤可能是因爲你沒有選擇的元素:當沒有節點的時候你不能調用'nodeValue'!您的XPath可能有錯誤 - 這非常複雜,所以我並不感到驚訝。看看你是否能找到一個更簡單的方式來指定你想要的元素。元素ID將是一個很好的開始。 – lonesomeday 2011-04-16 19:34:19
如果您遇到錯誤,請告訴我們它是什麼。這對你來說可能毫無意義,但這對於這個論壇上的某個人來說可能意味着什麼。 – 2011-04-16 22:08:25