PHP 实现采集网站数据的方法总结

在一些企业网站的应用中,一些企业可能没有时间去管理自己的网站,定时发布一些相关的新闻资讯到网站中,这时候就需要程序自动去网络上抓取一下自己企业相关的新闻和行业资讯到自己的网站中,这里就需要用到PHP的数据抓取技术,术语称为数据采集。

W3CAPI
1
2020-04-24 22:25:16
文档目录
我的书签
 

PHP 使用curl技术实现数据采集

cURL(command url)是一种在命令行下使用URL语法 工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl;cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP等。
在PHP中,cURL扩展把HTTP协议的实现都封装为函数,直接调用并传入相应参数即可,降低了自己编写HTTP协议请求规则的难度,但是需要在PHP中开启cURL扩展,使用cURL采集数据的代码如下:
function collect_by_url($url) {
    //生成一个curl对象
    $curl=curl_init();
    //设置URL和相应的选项
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  //将curl_exec()获取的信息以字符串返回,而不是直接输出。
    //执行curl操作
    $data=curl_exec($curl);
    return $data;
}

$url = "http://www.w3capi.com/cms/column/id/4.html";
var_dump( collect_by_url($url) );
返回结果如下所示,可以看到cURL函数已经将 http 协议规定的响应内容头格式去掉了,只剩下页面中的源码数据:
​​​​​​​
友情提示