2013-10-04 88 views
-2

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

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

任何人都可以帮我吗?

我一直在试图抓取的这个item

+0

问题要求代码必须表现出对问题的理解最小正在解决。包括尝试解决方案,为什么他们没有工作,以及预期的结果。 – 2013-10-04 04:40:07

+0

显示您的代码。 – sectus

+0

想一想:你对我们有什么期望?你想让我们告诉你代码中哪些行没有正确实现吗?如果逻辑不正确?好,但你如何指望我们将这些错误指出来?如果你不向我们展示你的代码_?我知道你的教授很匆忙而且很沮丧,但是真的,我们怎么会有一些帮助?我们需要猜测它还是想念你?或者你是否想要一个现成的工作脚本,以便你抛出(如果存在)? –

回答

1

价格来堆栈溢出之前,你必须尝试的东西。我希望你不会再犯这个错误;)

那么......我的建议已经够了。在这里,我使用cURLPHP上写了这段代码。获取金额。

<?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
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与页面URL