php-xpath抓取页面相关信息(简易的爬虫)

公司要求做个输入连接抓取连接相关信息的功能,最初用正则开发的,但是不懂技术的人配置起来很吃力,后来发现xpath可以完美的解决这个问题,一些浏览器(如谷歌,火狐)审查元素可以直接复制xpath语句,如下图:

php-xpath抓取页面相关信息(简易的爬虫)

function getWebImg($url, $xpathStr)
{
    $webContent = file_get_contents($url);
    $r = "<meta.*?charset=[\"']*(.*?)[\"'>;\\s]";
    preg_match_all("/".$r."/is", $webContent, $codeMatch);
    $webContent = '<meta http-equiv="content-type" content="text/html; charset='.$codeMatch[1][0].'" />'.$webContent;
    $dom = new DOMDocument();
    //从一个字符串加载HTML
    @$dom->loadHTML($webContent);
    //使该HTML规范化
    $dom->normalize();
    $xpath = new DOMXPath($dom);
    $values = @$xpath->query($xpathStr);
    return trim($values->item(0)->getAttribute('src'));
}

echo getWebImg('https://www.yuankezhan.com', "/html/body/section/div[1]/div/article/p/img");
赞(3) 打赏
转载请注明出处:猿客栈 » php-xpath抓取页面相关信息(简易的爬虫)
分享到:

评论 抢沙发

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏