资源描述:
《php发送http请求,抓取网页数据方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、www.accpbj.comPhp发送Http请求,抓取网页数据方法php发送Http请求,抓取网页数据方法(cURL,file_get_contents,snoopy) curl()、file_get_contents()、snoopy.class.php这三个远程页面抓取或采集中用到的工具,他们功能相当,到底有是么优缺点呢,下面逐一介绍: snoopy.class.php snoopy是用fsockopen自开发的一个类,效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,但是经常出问题。官方下载网址:http://sourcefo
2、rge.net/projects Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。 Snoopy的特点: 1、抓取网页的内容fetch 2、抓取网页的文本内容(去除HTML标签)fetchtext 3、抓取网页的链接,表单fetchlinksfetchform 4、支持代理主机good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurew
3、henthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1firstwww.accpbj.com 5、支持基本的用户名/密码验证 6、支持设置user_agent,referer(来路),cookies和headercontent(头文件) 7、支持浏览器重定向,并能控制重定向深度 8、能把网页中的链接扩展成高质量的url(默认) 9、提交数据并且获取返回值 10、支持跟踪HTML框架 11、支持重定向的时候传递cookie
4、s 要求php4以上就可以了,由于本身是php一个类,无需扩支持,服务器不支持curl时候的最好选择。 附: snoopy中文手册:http://wenku.baidu.com/view/a2110c2a192e45361066f53a.html 使用示例:http://outofmemory.cn/code-snippet/2480/php-usage-Snoopy-class-php-do-http-get-post-request snoopy的缺陷与CURL的强大:http://www.neatstudio.com/show-1047-
5、1.shtmlgood,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1firstwww.accpbj.com file_get_contents() file_get_contents是fsock
6、open功能的简单打包,效率稍低些,但是抓取成功率很高,所以在snoopy出问题的时候我一般那他来。5.0.0添加了对context的支持,有了context,他也可以发送header信息,自定义用户agent,referer,cookies都不在话下。5.1.0添加了offset和maxlen参数,可以只读文件的一部分内容。 curl() curl一般用来抓取网页,第二种就是get或者post数据,第三种应用就是实现PHP的多线程任务。 功能最强大,几乎可以模拟浏览器的各个方面,几乎可以以假乱真。效率也很高,支持多线程,不过需要开启下curl扩展
7、。 cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。PHP也支持cURL库,我们常常用来远程页面抓取和采集。 也支持断点续传Range的代码: $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,'http://www.spiegel.de/'); curl_setopt($ch,CURLOPT_RANGE,'0-500');good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandthe
8、othersideafterthewiringiscompleted,DCSwi