我想从以下URL获取所有图像,并使用以下Xpath查询,但任何时间查询都返回null。亚马逊产品的PHP XPath问题
网址:
http://www.amazon.com/gp/browse.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A219HML0CVO0HP
XPath查询:
$products = $xpath->evaluate('//div[@class="productTitle"]//img');
我想从以下URL获取所有图像,并使用以下Xpath查询,但任何时间查询都返回null。亚马逊产品的PHP XPath问题
网址:
http://www.amazon.com/gp/browse.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A219HML0CVO0HP
XPath查询:
$products = $xpath->evaluate('//div[@class="productTitle"]//img');
我相信你有一个太多的前锋IMG之前斜线:
$xpath->evaluate('//div[@class="productTitle"]/img');
这应该与下面的HTML是目前在该链接:
<div id="srProductTitle_B0000CBIFG_0" class="productTitle">
<a href="http://rads.stackoverflow.com/amzn/click/B0000CBIFG">
<img src="http://ecx.images-amazon.com/images/I/51BZs4Gf5pL._SL160_AA160_.jpg" class="" border="0" alt="Product Details" width="160" height="160"/><br clear="all" />Weed Eater 952701594 0.065-Inch-by-200-Foot Bulk Round String Trimmer Line
</a>
</div>
可能这将帮助你......
$subject = file_get_contents('http://www.amazon.com/gp/browse.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A219HML0CVO0HP');
$string = preg_replace('/\s\s+/', '', $subject);
preg_match_all('/<a(.*?)href="(.*?)">(.*?)<img(.*?)src="(.*?)"(.*?)class=""(.*?)border="0"(.*?)alt="Product(.*?)Details/', $subject, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
echo "<pre>";
echo $result[5][$i];
}
感谢..... P2C
这是什么p2c – 2012-08-06 11:34:55
@HareshChaudhary ....这是我的昵称。 – Indian 2012-08-06 11:43:11
我单换下斜杠,但仍然我得到空值。 – 2012-07-16 12:55:11
最终的问题可能是[HTML中的错误](http://viper-7.com/kaEFwh)。 – nickb 2012-07-16 12:57:56
你是对的,它应该匹配,但它不匹配我不知道这个问题... – 2012-07-16 13:07:11