以前总是自己用php代码模拟浏览器,总是写不好,当然我这种非专业出身就是学不好.
最近在写一个抓取Amazon商品php代码时,无意中从搜索引擎搜到的.
那个Snoopy这个类实在太好用了, 记录一下怎样使用
—————————————
snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。
下面是它的一些特征:
1、方便抓取网页的内容
2、方便抓取网页的文字(去掉HTML代码)
3、方便抓取网页的链接
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies
抓取我的blog的内容
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetch("https://www.lpfrx.com");
echo $snoopy->results;
?>
下面是简单的例子,比如说我们抓取我的blog的文字
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext("https://www.lpfrx.com");
echo $snoopy->results;
?>
抓取链接
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchlinks("https://www.lpfrx.com");
print_r($snoopy->results);
—————————————
原来之前做的php抓取RSS里的MagpieRSS类也用到了,以后可以Snoopy做抓取,应该说采集时就爽了.
这个类真的不错,试了一下。