PHP webscraper,没有输出

时间:2015-03-17 11:35:44

标签: php curl 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);

1 个答案:

答案 0 :(得分:0)

您的查询不是有效的XPath表达式。要获取所有<h3>个节点,查询应该是:

//h3

有关XPath的进一步参考: