Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用curl从网站获取所有产品价格_Php_Curl_Web Scraping - Fatal编程技术网

Php 如何使用curl从网站获取所有产品价格

Php 如何使用curl从网站获取所有产品价格,php,curl,web-scraping,Php,Curl,Web Scraping,我试图使用cURL从这个网站上获取所有产品的价格,但我真的不知道如何获取这个网站上每个产品的所有价格 有人能给我一些提示吗 现在我只是测试一个产品的价格,这是没有问题的,但是我可以得到所有产品的价格吗 我现在的代码是: public function Scrape(){ $curl = curl_init('http://www.bikestore.ie/scott-speedster-30-bike-2015.html'); curl_setopt($curl, CURLO

我试图使用cURL从这个网站上获取所有产品的价格,但我真的不知道如何获取这个网站上每个产品的所有价格

有人能给我一些提示吗

现在我只是测试一个产品的价格,这是没有问题的,但是我可以得到所有产品的价格吗

我现在的代码是:

 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";
    }
这不是一项容易的任务。 网站是结构化的。但每个产品都是在url中定义的。 前任。: 将其添加到购物车时,将看到唯一的产品标识符:

台阶
  • 使用cURl对整个站点进行爬网(查找所有链接
    ,您只需使用php进行类似操作即可
  • 将它们存储在数据库中(例如MySQL)
  • 对于每个链接,运行获取价格/产品id的
    scrap()
    过程。获取产品的价格时,在DB中将其链接标记为“已选中”,以便不再运行该链接
  • 注意:为了并行处理,您可以并行运行第1点和第2点以及第3点的进程。为此,请使用cron