0

次の URL から次の Xpath クエリを使用してすべての画像を取得したいのですが、常にクエリが null を返します。

URL:

http://www.amazon.com/gp/browse.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A219HML0CVO0HP  

Xpath クエリ:

$products = $xpath->evaluate('//div[@class="productTitle"]//img');  
4

2 に答える 2

1

img の前にスラッシュが 1 つ多すぎると思います。

$xpath->evaluate('//div[@class="productTitle"]/img');

これは、そのリンクにある次の HTML と一致する必要があります。

<div id="srProductTitle_B0000CBIFG_0" class="productTitle">
    <a href="https://rads.stackoverflow.com/amzn/click/com/B0000CBIFG" rel="nofollow noreferrer">
    <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>
于 2012-07-16T12:51:52.197 に答える
0

これはあなたを助けるかもしれません...

$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

于 2012-07-23T11:32:00.330 に答える