PHP webscraper,没有输出
PHP webscraper, no output
我正在尝试为丹麦葡萄酒网站制作网络抓取工具。
但是我在获取结果时遇到了一些麻烦。我认为我的问题是在 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);
您的查询不是有效的 XPath 表达式。要获取所有 <h3>
个节点,查询应该是:
//h3
有关 XPath 的进一步参考:
我正在尝试为丹麦葡萄酒网站制作网络抓取工具。
但是我在获取结果时遇到了一些麻烦。我认为我的问题是在 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);
您的查询不是有效的 XPath 表达式。要获取所有 <h3>
个节点,查询应该是:
//h3
有关 XPath 的进一步参考: