使用 Goutte 抓取速卖通图片

Scraping AliExpress Images using Goutte

我正在努力抓取整页速卖通图片。它获取所有 alt 标签和前 8 张图片。

<?php

require 'vendor/autoload.php';

use Goutte\Client;

$url = "https://www.aliexpress.com/af/tie.html?SearchText=tie";

$client = new Client();

$crawler = $client->request('GET', $url);

$output = $crawler->filter('#hs-below-list-items li div div.img.img-border div a img')->each(function ($node) {

echo '<img src="' . $node->attr('src') . '" alt="' . $node->attr('alt') . '">';

});

var_dump($output);

这是否与图片中的速卖通延迟加载有关?

我需要使用无头浏览器之类的东西吗?如果是这样,你能给我指明正确的方向吗?

如有任何帮助,我们将不胜感激。

谢谢,杰克。

您需要过滤数据属性本身。

$output = $crawler->filter('img.picCore[image-src]')->each(function ($node) {

    echo '<img src="' . $node->attr('image-src') . '" alt="' . $node->attr('alt') . '">';

});

JH