Как получить все цены на товары с веб-сайта с помощью curl

Я пытаюсь использовать 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";
    }

person Webbie    schedule 05.07.2015    source источник


Ответы (1)


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

Шаги

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

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

person Igor Savinkin    schedule 06.07.2015