snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
优采云 发布时间: 2021-11-04 06:19snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
Snoopy 是一个非常强大的 PHP 类,可以用来模拟浏览器来完成获取网页内容和发送表单的任务。下面详细介绍Snoopy.class.php的特性和一些常用用法。
官方网站:(不能打开国外的网站并使用Skyline浏览器)
下载链接:
本站下载地址:PHP采集库Snoopy.class.php下载
以下是史努比的一些功能:
1、抓取网页抓取的内容
2、获取网页的文本内容(去除HTML标签)fetchtext
3、获取网页链接,表单fetchlinks fetchform
4、支持代理主机
5、支持基本用户名/密码验证
6、支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
7、支持浏览器重定向,控制重定向深度
8、可以将网页中的链接扩展为高质量的url(默认)
9、提交数据并获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持重定向时传递cookie
备注:Snoopy.class.php 需要 php4 或更高版本。既然是php类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
下面介绍一些常用的类方法:
获取($URI)
这是用来抓取网页内容的方法。 $URI参数是被爬取的网页的URL地址,爬取的结果存放在$this->results中。如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
fetchtext($URI)
该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
fetchform($URI)
该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
fetchlinks($URI)
这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
提交($URI,$formvars)
此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
提交文本($URI,$formvars)
该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
提交链接($URI)
这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
类属性:(括号内为默认值)
$host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装(史努比 v0.1)
$referer 传入信息,如果有的话
$cookies cookies,如果有的话
$rawheaders 其他头信息,如果有的话
$maxredirs 最大重定向次数,0=不允许 (5)
$offsiteok 是否允许异地重定向。 (真实)
$expandlinks 是否完成所有链接以完成地址(真实)
$user 认证用户名,如果有的话
$pass 认证用户名,如果有的话