PHP抓取提取物品的价格

时间:2013-10-04 04:34:03

标签: php web-scraping

我尝试创建一个 PHP 代码来从电子商务网站中提取商品的价格。我创建了一个变量,我需要输入项目的URL,代码将获取项目的价格,然后显示它。

不幸的是,我已经尝试了20多次,但我仍然没有得到结果。我去找我的教授他说,他真的很忙,并会在3天后尝试找到解决方案。我不想等3天。

有人可以帮助我吗?

我一直在尝试获取此item

的价格

2 个答案:

答案 0 :(得分:1)

在进入Stack Overflow之前,你必须先尝试一下。我希望你不会再犯这个错误;)

嗯......我的建议已经足够了。在这里,我使用 PHP 上的 cURL 编写了此代码。获取金额 40490

<?php
$ch = curl_init('http://www.flipkart.com/lg-g2-16-gb/p/itmdzuhncfhj9zwt?pid=MOBDZUHGWZ3HMCMF&ref=c35ae3ed-99d5-49d8-ae45-b0d4de3afe41');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$strx=strip_tags(curl_exec($ch));
$str_key="Rs. ";
$end_key=" Inclusive";
$strt=strpos($strx,$str_key);
$end=strpos($strx,$end_key);

echo intval(substr($strx,$strt+strlen($str_key),9));//outputs 40490 (price of the prod)

答案 1 :(得分:1)

public function scrapeProductPrice($remote_page_content,$log){
        libxml_use_internal_errors(true);
        $dom = new DOMDocument();   
        $dom->loadHTML($remote_page_content);
        $xpath = new DOMXPath($dom);
        $my_xpath_query = "//table//tr";
        $result_rows = $xpath->query($my_xpath_query);
        foreach($result_rows as $key => $value) {
            $lookUp = strstr($value->nodeValue, PRODUCT_NAME) ? str_split($value->nodeValue, strlen(PRODUCT_NAME)) : 0;
            if($lookUp){ 
                return $lookUp[1];
            }   
        }
    }

注意:使用页面网址

更改$ remote_page_content