我正在尝试为丹麦葡萄酒网站制作一个网络刮板。
但是我遇到了一些麻烦。我认为它是在Xpath部分我的问题是,因为我可以从我的调试中得知它省略了一些字符串,但我不确定。
$title = $ScrapedPageXpath->query('*<h3>');
也可能是我的查询错误。
我不是一个熟练的程序员,这是我尝试过的第一件事,所以请在回复中牢记这一点。
以下是我的代码:
<?php
function curlGet($url)
{
$chandle = curl_init();
curl_setopt($chandle, CURLOPT_URL, $url);
curl_setopt($chandle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($chandle, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($chandle, CURLOPT_FOLLOWLOCATION, 5);
$curlResults = curl_exec($chandle);
curl_close($chandle);
return $curlResults;
}
$Winelist = array();
function returnXPathObject($item)
{
$xmlPageDom = new DomDocument();
@$xmlPageDom->loadHTML($item);
$xmlPageXPath = new DOMXPath($xmlPageDom);
return $xmlPageXPath;
}
$ScrapedPage = curlGet('http://www.vinhit.dk/shop/');
$ScrapedPageXpath = returnXPathObject($ScrapedPage);
$title = $ScrapedPageXpath->query('*<h3>');
if ($title->length > 0) {
$Winelist['title'] = $title->item(0)->nodeValue;
}
print_r($Winelist);
答案 0 :(得分:0)
您的查询不是有效的XPath表达式。要获取所有<h3>
个节点,查询应该是:
//h3
有关XPath的进一步参考: