PHP Snoopy类库
2012-02-27 13:23 狼人:-) 阅读(662) 评论(0) 编辑 收藏 举报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网页内容
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetch("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
2、使用fetchtext,将服务器返回的HTML网页内容转换为纯文本内容
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetchtext("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
3、使用fetchform,获得表单的发送文本框的名和目标地址
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetchform("http://www.jlu.edu.cn"); $line = $snoopy->results; print_r($line); ?>
4、使用fetchlinks,抓取网页超链接
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetchlinks("http://www.jlu.edu.cn"); print_r($snoopy->results); ?>
5、自动注册
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $submit_url = http://yourwebsite?action=register;
$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、抓取显示网页源代码
<?php include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->maxframes=5000; //抓取多少个字节可以自行设置 $snoopy->fetch("http://www.jlu.edu.cn/"); echo "<PRE>\n"; for($i=0;$i<$snoopy->maxframes;$i++){ echo htmlentities($snoopy->results[$i]); } echo "</PRE>\n"; ?>
http://hi.baidu.com/aseashell/blog/item/b9840726f039fa0b908f9dee.html