【问题标题】:How to get all product prices from a website with curl如何使用 curl 从网站获取所有产品价格
【发布时间】:2015-09-22 22:29:20
【问题描述】:

我正在尝试使用 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";
    }

【问题讨论】:

    标签: php curl web-scraping


    【解决方案1】:

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

    步骤

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

    注意:为了并行处理,您可以并行运行 point 1&2point 3 的进程。为此使用 cron。

    【讨论】:

      猜你喜欢
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      相关资源
      最近更新 更多