在过去的几天里,我对此进行了相当多的研究,并且在网上找到了各种功能的所有答案,所以谢谢。
我现在有 3 段单独的代码,它们都抓取网页的内容(该页面将是电子商务产品页面、评论页面、带有产品的页面)以获取不同的信息,但我假设这是非常3次抓取内容效率低下!
3 位代码完成以下 3 件事:1) 获取网页标题 2) 获取页面中的所有图像 3) 查找数字以获取(希望是)该页面上项目的价格。
我将不胜感激将这些组合在一起的帮助,因此它只需要获取文件内容一次。这是我当前的代码: 第一次:
function getDetails($Url){
$str = file_get_contents($Url);
if(strlen($str)>0){
//preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
//The above didnt work well enough (for getting Title when <title id=... > etc) so used the DOM below
preg_match("/(\£[0-9]+(\.[0-9]{2})?)/",$str,$price); //£ for GBP
$priceRes = preg_replace("/[^0-9,.]/", "", $price[0]);
//$pageDeatil[0]=$title;
$pageDeatil[1]=$priceRes;
return $pageDeatil;
}
}
$pageDeatil = getDetails("$newItem_URL");
//$itemTitle = $pageDeatil[0];
$itemPrice = $pageDeatil[1];
第二次:
$doc = new DOMDocument();
@$doc->loadHTMLFile("$newItem_URL");
$xpath = new DOMXPath($doc);
$itemTitle = $xpath->query('//title')->item(0)->nodeValue."\n";
第三次:
include('../../code/simplehtmldom/simple_html_dom.php');
include('../../code/url_to_absolute/url_to_absolute.php');
$html = file_get_html($newItem_URL);
foreach($html->find('img') as $e){
$imgURL = url_to_absolute($url, $e->src);
//More code here
}
我似乎无法获得该文件一次,然后在其余部分中仅使用该文件。任何帮助,将不胜感激!提前致谢。