snoopy php网页抓取工具(PHP模拟浏览器的特点:Snoopy(来路)、Snoopy、header)
优采云 发布时间: 2021-12-23 18:02snoopy php网页抓取工具(PHP模拟浏览器的特点:Snoopy(来路)、Snoopy、header)
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页的内容,并发送表单。
史努比的特点:
1、抓取网页抓取的内容
2、获取网页的文本内容(去除HTML标签)fetchtext
3、获取网页链接,形成fetchlinks fetchform
4、支持代理主机
5、支持基本的用户名/密码验证
6、支持设置user_agent、referer(来源)、cookies和header内容(头文件)
7、支持浏览器重定向,控制重定向深度
8、可以将网页中的链接扩展成高质量的url(默认)
9、提交数据并获取返回值
10、支持跟踪HTML框架
11、支持重定向时传递cookie
需要 php4 或更高版本。既然是php的一个类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
================================================ ======================================
file_get_contents()
file_get_contents 是 fsockopen 函数的一个简单封装,效率稍低,但是爬取成功率很高,所以当 snoopy 有问题时,我通常让他来。 5.0.0 添加了对上下文的支持。借助上下文,他还可以发送标头信息,并自定义用户代理、引用者和 cookie。 5.1.0 增加了offset和maxlen参数,只能读取文件的一部分。
卷曲()
最强大的功能,几乎可以模拟浏览器的方方面面,几乎可以造假。效率也很高,支持多线程,不过需要开启curl扩展。
cURL 是一种使用 URL 语法传输文件和数据的工具。它支持多种协议,如HTTP、FTP、TELNET等。PHP还支持cURL库,我们经常使用它进行远程页面抓取和采集。
有些cms会使用curl功能,需要在服务器上启用CURL扩展。下面介绍具体方法:
1、将PHP ext目录下的三个文件:php_curl.dll、libeay32.dll和ssleay32.dll复制到系统system32目录下。
2、改变
在 php.ini 中
;extension=php_curl.dll 去掉前面的分号
3、重启 IIS 或 Apache
4、测试代码
转载于: