php抓取网页snoopy( PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
优采云 发布时间: 2021-09-26 13:04php抓取网页snoopy(
PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
/**
* @name Snoopy手册中文版
* @author 毛毛虫 wangchong1985@gmail.com
* @version Snoopy - the PHP net client v1.2.2
* @link http://www.wangchong.org
* @since 2008-04-27
*/ <br />名称:<br /><br /> Snoopy - the PHP net client v1.2.2<br /> <br />概要:<br /><br /> include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext("http://www.php.net/");
print $snoopy->results;
$snoopy->fetchlinks("http://www.phpbuilder.com/");
print $snoopy->results;
$submit_url = "http://lnk.ispi.net/texis/scripts/msearch/netsearch.html";
$submit_vars["q"] = "amiga";
$submit_vars["submit"] = "Search!";
$submit_vars["searchhost"] = "Altavista";
$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;
$snoopy->maxframes=5;
$snoopy->fetch("http://www.ispi.net/");
echo "/n";
echo htmlentities($snoopy->results[0]);
echo htmlentities($snoopy->results[1]);
echo htmlentities($snoopy->results[2]);
echo "
/n“;$snoopy->fetchform(“”);打印$snoopy->结果
说明:
什么是史努比
Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
史努比的一些特点:
*易于抓取网页内容
*易于抓取网页的文本内容(删除HTML标记)
*易于获取网页链接
*支持代理主机
*支持基本用户名/密码身份验证
*它支持设置用户\代理、引用、cookies和标题内容
*支持浏览器转向和控制转向深度
*可以将网页中的链接扩展为高质量URL(默认)
*提交数据和获取返回值很方便
*支持跟踪HTML框架(添加了V0.92)
*再次旋转时支持cookies的传送(添加了V0.92)
要求:
Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
它应该是PHP3.0.9及更高版本。对于读取超时支持,它需要
PHP 4 Beta 4或更高版本。Snoopy是用PHP开发和测试的
类方法:
获取($URI)
-----------
这是一种用于获取网页内容的方法
$URI参数是已爬网网页的URL地址
获取的结果存储在$this->results中
如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
fetchtext($URI)
---------------
此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的文本内容
fetchform($URI)
---------------
此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
获取链接($URI)
----------------
此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
默认情况下,相对链接会自动完成并转换为完整URL
提交($URI,$formvars)
----------------------
此方法向$URL指定的链接地址发送确认表单。$formvars是存储表单参数的数组
submittext($URI,$formvars)
--------------------------
此方法类似于submit(),唯一的区别是此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
提交链接($URI)
----------------
此方法类似于submit()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
默认情况下,相对链接会自动完成并转换为完整URL
Class属性:(默认值在括号中)
$host连接的主机
$port连接端口
$proxy\u host使用的代理主机(如果有)
$proxy_port使用的代理主机端口(如果有)
$agent用户代理伪装(史努比V0.1)
$referer源信息(如果有)
$cookies饼干,如有
$rawheads其他标题信息(如有)
$maxredrs最大重定向时间,0=不允许(5)
$offsiteok是否允许场外重定向。(true)
$expandlinks是否完成指向完整地址的所有链接(true)
$user authentication username(如果有)
$pass身份验证用户名(如果有)