PHP的cURL库简单和有效地抓网页 |
使用PHP的cURL库 可以 方便和有效地去抓网页 。你 惟独求运行一个脚本, 而后 综合一下你所抓取的网页, 而后就 可以以程序的 模式得到你想要的数据了 。无论是你想从从一个链接上取 部分数据,或是取一个XML文件并把其导入数据库,那怕便是 方便的猎取网页内容,cURL 是一个 性能 壮大的PHP库 。本文重要讲述假如 使用这个PHP库 。
启用 cURL 设置
首先,我们得先要确定我们的PHP是不是开启了这个库,你 可以通过 使用php_info()函数来得到这一信息 。
<?php
假如你 可以在网页上看到下面的输出,那么 示意cURL库已被开启 。
假如你看到的话,那么你需求设置你的PHP并开启这个库 。假如你是在Windows平台下,那么十分 方便,你需求改一改你的php.ini文件的设置,找到php_curl.dll,并 取缔前面的分号 诠释就行了 。如下所示:
//
取缔下在的
诠释
假如你是在Linux下面,那么,你需求再一次编译你的PHP了,编辑时,你需求 打开编译参数——在configure命令上外加“–with-curl” 参数 。
一个小示例
假如 所有就绪,下面是一个小例程:
<?php // 设置你需求抓取的URL // 设置header // 设置cURL 参数,要求
后果
保留到字符串中还是输出到屏幕上 。 // 运行cURL,
申请网页 // 关闭URL
申请 // 显示
获得的数据
如何POST数据
上面是抓取网页的代码,下面则是向某个网页POST数据 。 假如我们有一个 解决表单的网址http://www.example.com/sendSMS.php,其 可以 承受两个表单域,一个是电话号码,一个是短信内容 。
<?php
从上面的程序我们 可以看到, 使用CURLOPT_POST设置HTTP 协定的POST 步骤,而不是GET 步骤, 而后以CURLOPT_POSTFIELDS设置POST的数据 。
对于代理服务器
下面是一个如何 使用代理服务器的示例 。请 留神其中高亮的代码,代码很 方便,我就不用多说了 。
<?php
对于SSL和Cookie
对于SSL也便是HTTPS 协定,你 惟独求把CURLOPT_URL衔接中的http://变成https://就 可以了 。固然,还有一个参数叫CURLOPT_SSL_VERIFYHOST 可以设置为验证站点 。
对于Cookie,你需求了解下面三个参数:
CURLOPT_COOKIE,在当面的会话中设置一个cookie CURLOPT_COOKIEJAR,当会话 完毕的时候 保留一个Cookie CURLOPT_COOKIEFILE,Cookie的文件 。
HTTP服务器认证
最终,我们来看一看HTTP服务器认证的状况 。
<?php $data = curl_exec();
对于其它更多的内容,请参看 有关的cURL手册 。 |