Как получить все цены на товары с сайта с завитком

Я пытаюсь использовать cURL, чтобы получить все цены на товары с этого сайта, но я действительно не знаю, как очистить все цены на каждый товар на этом сайте http://www.bikestore.ie/.

Может кто-нибудь, пожалуйста, дайте мне советы Сом?

Прямо сейчас я просто тестирую, чтобы получить одну цену за продукт, и это не проблема, но могу ли я получить точную информацию для всех продуктов?

мой код прямо сейчас:

 public function Scrape(){

    $curl = curl_init('http://www.bikestore.ie/scott-speedster-30-bike-2015.html');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $page = curl_exec($curl);

    if(!empty($curl)){

        $doc = new DOMDocument;
        $doc->loadHTML($page);

        $xpath = new DOMXPath($doc);
        $rupees = $xpath->evaluate('string(//div[@class="product-shop"]//div[@class="price-box"]//span[@class="price"])');
        echo $rupees;
    }
    else {
        print "Not found";
    }

1 ответ

Это не простая задача. Сайт структурирован. Но каждый продукт определяется в URL. Например: http://www.bikestore.ie/scott-speedster-30-bike-2015.html при добавлении его в корзину отображается уникальный идентификатор продукта:

меры

  1. Просканируйте весь сайт с помощью cURl (найдите все ссылки <a> продуктов). Смотрите пост о простом гусеничном питоне, вы просто делаете подобное с php.
  2. Храните их в БД (например, MySQL)
  3. Для каждой ссылки вы запускаете свой Scrape() процедура извлечения цены / идентификатор продукта. Получая цену товара, вы помечаете его ссылку как "проверенную" в БД, чтобы не запускать ее снова.

Примечания: Для параллельной обработки вы можете запускать процессы из точек 1 и 2 и точки 3 параллельно. Используйте для этого cron.

Другие вопросы по тегам