1
我有一個功能來抓取圖像src
屬性在section
標籤。但它給我圖片這個指定的部分標記(選擇class
)。
xPath選擇器不能正常工作
$doc = new DOMDocument();
@$doc->loadHTMLFile('http://www.akairan.com/health/bimari-behdasht/news201691911413397586.html');
$finder = new DomXPath($doc);
$imgNodes = $finder->query('//article[@class="contentpaneopen_text"]//img/@src');
$images = array();
foreach($imgNodes as $node) {
echo $node->nodeValue . "<br />";
}
結果是:
http://cdn64.akairan.com/files/images/20160919/20169/2016919114132436510a.jpg
http://cdn2.akairan.com/akairan/telegram.jpg
http://ser8.akairan.com/img/cdn/125/30/icmjthidoctor.ir.jpg
http://ser9.akairan.com/img/cdn/180/80/akairan__aka__m998__027343234141194102a.jpg
http://ser9.akairan.com/img/cdn/180/80/akairan__aka__m998__074496544283135102a.jpg
但它應該返回只是第一個鏈接而不是別人。
最後兩個結果不內部<文章類= 「contentpaneopen_text」>但是在結果中。這是我的問題。 @Yann – MehdiRahimi
它們實際上在''裏面,因爲標籤沒有正確關閉。嘗試將DOMDocument轉儲到一個文件中,並在'loadHTMLFile'後面使用'$ doc-> saveHTMLFile('/ tmp/file.html');'來查看自己。 ' '在最後兩個結果後放置不好。儘管如此,使用我答案中提供的Xpath只能匹配所需的值。 –