php抓取网页snoopy(Snoopy的一些特点及LAMP服务都支持的服务方法)
优采云 发布时间: 2022-01-11 02:07php抓取网页snoopy(Snoopy的一些特点及LAMP服务都支持的服务方法)
Snoopy 是一个 php 类,它模拟浏览器获取网页内容和发送表单的功能。 Snoopy的正确操作需要你的服务器PHP版本在4以上,并且支持PCRE(Perl Compatible Regular Expressions),并且支持基本的LAMP服务。
一、史努比的一些特点:
1.获取网页内容fetch
2.获取网页的文本内容(去掉HTML标签)fetchtext
3.获取网页链接,form fetchlinks fetchform
4.支持代理主机
5.支持基本的用户名/密码认证
6.支持设置user_agent、referer(来)、cookies和头内容(头文件)
7.支持浏览器重定向,控制重定向深度
8.可以将网页中的链接扩展成高质量的url(默认)
9.提交数据并获取返回值
10.支持跟踪 HTML 帧
11.支持重定向时传递cookie,需要PHP4或以上。由于是 PHP 类,所以不需要扩展。服务器不支持 curl 时的最佳选择。
二、类方法:
获取($URI)
———–
这是用于抓取网页内容的方法。 $URI 参数是被抓取网页的 URL 地址。获取的结果存储在 $this->results 中。如果你正在抓取一个帧,Snoopy 会将每个帧跟踪到一个数组中,然后是 $this->results。
获取文本($URI)
——————
该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
fetchform($URI)
——————
该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
获取链接($URI)
——————-
该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
默认情况下,相对链接将自动完成并转换为完整的 URL。
提交($URI,$formvars)
—————————-
此方法向 $URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
提交文本($URI,$formvars)
—————————–
该方法与submit()类似,唯一不同的是该方法会去除HTML标签等无关数据,登录后只返回网页的文本内容。
提交链接($URI)
——————-
该方法与submit()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
默认情况下,相对链接将自动完成并转换为完整的 URL。
三、类属性:(括号内为默认值)
$host 要连接的主机
$port 连接端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 信息,如果有的话
$cookies cookie,如果有的话
$rawheaders 额外的标题,如果有的话
$maxredirs 最大重定向次数,0=不允许(5)
$offsiteok 是否允许异地重定向。 (真)
$expandlinks 是否将所有链接作为完整地址完成(true)
$user 认证用户名,如果有的话
$pass 验证用户名,如果有的话