php curl抓取网页指定内容(curl()、file_get_contents(.class.php这三个远程页面抓取或采集中用到的工具)

优采云 发布时间: 2022-04-20 02:13

  php curl抓取网页指定内容(curl()、file_get_contents(.class.php这三个远程页面抓取或采集中用到的工具)

  curl()、file_get_contents()、snoopy.class.php是远程页面爬取或采集中用到的三个工具。它们具有相似的功能。它们的优点和缺点是什么?让我们一一介绍:

  

  snoopy.class.php

  snoopy是自带fsockopen的自研类,效率更高,不需要服务器特定的配置支持。可以在普通虚拟主机上使用,但是经常出现问题。

  Snoopy 是一个 php 类,它模拟浏览器获取网页内容和发送表单的功能。

  史努比的特点:

  1、获取网页内容fetch

  2、获取网页的文本内容(去掉HTML标签)fetchtext

  3、获取网页链接,form fetchlinks fetchform

  4、支持代理主机

  5、支持基本的用户名/密码认证

  6、支持设置user_agent、referer(coming)、cookies和header content(header)

  7、支持浏览器重定向,控制重定向深度

  8、可以将网页中的链接扩展成高质量的url(默认)

  9、提交数据并获取返回值

  10、支持跟踪 HTML 帧

  11、支持重定向时传递cookie

  需要php4以上就够了。由于是php的一个类,所以不需要扩展。服务器不支持 curl 时的最佳选择。

  file_get_contents()

  file_get_contents是fsockopen函数的一个简单封装,效率略低,但是抓取成功率很高,所以我一般在snoopy有问题的时候给他打电话。 5.0.0 增加了对context的支持,有了context,他还可以发送header信息,自定义user agent,referer,cookies都有。 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、测试代码

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线