当前位置: 首页 > 工具软件 > Snoopy > 使用案例 >

PHP爬虫最全总结-phpQuery,PHPcrawer,snoopy框架中文介绍

索锐藻
2023-12-01

1.几种常用的PHP爬虫框架对比

1.1 phpQuery

优势:类似jquery的强大搜索DOM的能力。
pq()是一个功能强大的搜索DOM的方法,跟jQuery的$()如出一辙,jQuery的选择器基本上都能使用在phpQuery上,只要把“.”变成“->”,Demo如下(对应我的github的Demo5)

<?php

require('phpQuery/phpQuery.php');

phpQuery::newDocumentFile('http://www.baidu.com/');

$menu_a = pq("a");

foreach($menu_a as $a){

echo pq($a)->html()."<br>";

}

foreach($menu_a as $a){

echo pq($a)->attr("href")."<br>";

}

?>


1.2 PHPcrawer

优势:过滤能力比较强。
官方给的Demo如下(我的github中对应demo4)

<?php

include("PHPCrawl/libs/PHPCrawler.class.php");

class MyCrawler extends PHPCrawler

{

function handleDocumentInfo(PHPCrawlerDocumentInfo $PageInfo)

{ // As example we just print out the URL of the document

echo $PageInfo->url."<br>";

}

}

$crawler = new MyCrawler();

$crawler->setURL("www.baidu.com");

$crawler->addURLFilterRule("#\.(jpg|gif)$# i");

//过滤到含有这些图片格式的URL

$crawler->go();

?>


1.3 snoopy

优势:提交表单,设置代理等
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,
demo如下(对应github中的demo3):

include 'Snoopy/Snoopy.class.php';

$snoopy = new Snoopy();

$url = "http://www.baidu.com";

// $snoopy->fetch($url);

// $snoopy->fetchtext($url);//去除HTML标签和其他的无关数据

$snoopy->fetchform($url);//只获取表单

//只返回网页中链接 默认情况下,相对链接将自动补全,转换成完整的URL。

// $snoopy->fetchlinks($url);

var_dump($snoopy->results);

1.4 phpspider

优势:安装配置到数据库
提供了安装配置,能够直接连接mysql数据库,使用也是比较广泛,这里我们暂时不单独介绍。

 类似资料: