curl 抓取网页(抓取网页内容,PHP手册真乃圣经也也乃也))

优采云 发布时间: 2021-09-09 19:24

  curl 抓取网页(抓取网页内容,PHP手册真乃圣经也也乃也))

  获取网页内容,PHP有几个可以实现的内置函数,比如file()、file_get_contents()等,都支持URL参数。但要实现更复杂的操作,这些功能就无能为力了。

  cURL 是一个文件传输工具,它使用 URL 语法在命令行下工作。 cURL 提供了一个 PHP 扩展。有了这个扩展,你可以完全模拟浏览器操作,就像使用浏览器浏览网页一样。可以设置header内容、设置cookie数据、POST数据、上传文件、设置代理等,其实我们这里讨论的爬取网页内容只是其常用的应用之一。

  cURL 官方网站:

  PHP cURL 扩展:

  在Windows下添加这个扩展很简单,加载php_curl.dll即可。去掉php.ini文件extension=php_curl.dll前面的分号,将php_curl.dll复制到PHP扩展目录下或者重启C:\Windows\system32目录下的Web服务器。 php_curl.dll 在 PHP 的 ZIP 包中提供。

  Linux下,需要先安装cURL。一种方法是编译成PHP,编译配置时加上--with-curl[=DIR]。另一种方法是编译成PHP模块加载,编译cURL模块的方法和编译其他PHP模块的方法是一样的。以下是基本命令:

  cd /path/to/php/source 进入PHP源代码目录

  cd ext/curl 进入cURL模块源码目录

  /usr/local/php/bin/phpize 生成编译配置文件

  ./configure --with-php-config=/usr/local/php/bin/php-config

  制作

  进行安装

  编译完成生成curl.so,修改php.ini,加载模块:

  extension="/path/to/extension/curl.so"

  测试cURL扩展是否加载,新建PHP文件:

  抓取网页示例:

  curl_setopt() 可以设置很多选项。更多选项请参考PHP手册。

  更多的功能和用法请参考PHP手册(再次废话,强调PHP手册真的是一本圣经)。

  2010-12-06 更新

  ============

  当前,移动互联网发展迅猛。很多门户网站都开发了手机网站,比如腾讯()、新浪()、网易()、搜狐(),一般的手机网站都会对浏览器的User Agent进行检测做出相应的适应。但是用户代理不是很可靠,因为它是从客户端发送到服务器的。我们可以通过各种方式伪造用户代理。 Firefox 有一个插件 User Agent Switcher()(这个主页在中国可能无法访问。翻墙)就是这样一个工具。当然,本文讨论的cURL也可以做到这一点。在开发过程中,我们可能需要伪造用户代理。以下是几款主流平台智能手机自带浏览器的User Agent。

  诺基亚 E71(S60 第三版):

  Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71/1.00.000; Profile/MIDP-2.0 Configuration/CLDC-1.1;) AppleWebKit/413(KHTML,如 Gecko)Safari/413

  HTC Desire (安卓2.1/2.2):

  Mozilla/5.0 (Linux; U; Android 2.1-update1; zh-cn; Desire_A8181 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) 版本/4.0 移动版 Safari/530.17

  iPhone 3GS(iOS 3):

  Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; zh-cn) AppleWebKit/420.1 (KHTML, like Gecko) 版本/3.0 Mobile/1A542a Safari /419.3

  黑莓 8700(黑莓):

  BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线