如何从curl

时间:2015-07-05 20:20:08

标签: php curl web-scraping

我试图使用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 个答案:

答案 0 :(得分:0)

这不是一件容易的事。 该网站是结构化的。但每个产品都在url中定义。 例如:http://www.bikestore.ie/scott-speedster-30-bike-2015.html 当您将其添加到购物车时,会看到唯一的产品标识符:enter image description here

步骤

  1. 使用cURl抓取整个网站(找到产品的所有链接<a>)。请参阅simple python crawler上的帖子,您只需使用php进行类似操作即可。
  2. 将它们存储在DB(例如MySQL)
  3. 对于每个链接,您都会运行Scrape()过程提取价格/产品ID。获取产品的价格,在DB中将其链接标记为“已检查”,这样您就不会再次运行它。
  4. 注意:为了进行并行处理,您可以并行运行 point 1&amp; 2 point 3 的过程。请使用cron。