代码改变世界

PHP Snoopy类库

2012-02-27 13:23  狼人:-)  阅读(657)  评论(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