snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。
官方网站 http://snoopy.sourceforge.net/
Snoopy可以完成以下功能:
1、抓取网页的内容 2、抓取网页的文字(去掉HTML代码) 3、抓取网页的超链接 4、支持代理服务器 5、支持基本的用户/密码认证模式 6、支持自定义用户agent,referer,cookies和header内容 7、支持浏览器转向,并能控制转向深度 8、能把网页中的链接扩展成高质量的url(默认) 9、方便提交数据并且获取返回值 10、支持跟踪HTML框架(v0.92增加) 11、支持再转向的时候传递cookies
Snoopy的应用 ---
1、使用fetch方法,取得HTML网页内容
fetch("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
2、使用fetchtext,将服务器返回的HTML网页内容转换为纯文本内容
fetchtext("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
3、使用fetchform,获得表单的发送文本框的名和目标地址
fetchform("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
4、使用fetchlinks,抓取网页超链接
fetchlinks("http://www.jlu.edu.cn"); print_r($snoopy->results); ?>
5、自动注册
$submit_vars["user_name"] = "yourname"; $submit_vars["user_password"] = "yourpwd"; $submit_vars["confirm_password"] = "yourpwd"; $submit_vars["email"] = youremail@gmail.com; $submit_vars["Submit"] = "注册"; $snoopy->submit($submit_url,$submit_vars); print $snoopy->results; ?>
6、抓取显示网页源代码
maxframes=5000; //抓取多少个字节可以自行设置 $snoopy->fetch("http://www.jlu.edu.cn/"); echo "
\n"; for($i=0;$imaxframes;$i++){ echo htmlentities($snoopy->results[$i]); } echo "
http://hi.baidu.com/aseashell/blog/item/b9840726f039fa0b908f9dee.html