PHP之使用CURL爬取文章列表、略缩图、及文章内容

本文为原创作品,引用请注明出处,欢迎转载。

最近在学PHP后台,想要在网络上爬取一些健康资讯,尽管知道PHP爬取数据的能力不如Python,但还是想试试用PHP爬取网页。
这里首先介绍PHP的一个库:curl,接下来我们将主要用到这个库来爬取网页数据。
还会用到的是正则表达式,不清楚的同学可以自行上网学习相关知识。

1. 首先要初始化curl,并对其做一些基本的设置,这里将其封装成一个get()函数。

public function get($url)
    {
        //初使化curl
        $ch = curl_init();
        //请求的url,由形参传入
        curl_setopt($ch, CURLOPT_URL, $url);
        //将得到的数据返回
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        //不处理头信息
        curl_setopt($ch, CURLOPT_HEADER, 0);
        //连接超过10秒超时
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        //执行curl
        $output = curl_exec($ch);
        //关闭资源
        curl_close($ch);
        //返回内容
        return $output;
    }

curl的步骤分为以上7步:
1.初使化curl资源
2.参数设置请求的协议地址
3.参数设置是否返回请求结果
4.设置发送数据(无发送数据可不设置)
5.其他的参数信息设置(按实际工作需要决定)
6.执行或执行得到返回结果
7.关闭curl资源

第二步至第五步本质上,应该统称为curl参数设置。
所有curl设置参数设置都是通过curl_setopt都完成

2. 分析网站源码,爬取文章列表中每篇文章的标题、图片和url
下面找一个网站来爬取数据,这里选择新浪健康网来爬取数据。
找了一下该网站的文章列表,有很多篇文章,就来爬取他们的数据。
PHP之使用CURL爬取文章列表、略缩图、及文章内容_第1张图片
查看该网页的源码,定位到该文章列表的代码处。
PHP之使用CURL爬取文章列表、略缩图、及文章内容_第2张图片
………中间文章列表还有很多,这里省略,一共有390篇文章。
PHP之使用CURL爬取文章列表、略缩图、及文章内容_第3张图片
选取要爬取文章的区域,为方便使用正则匹配,这里选取从

你可能感兴趣的:(PHP,网络爬虫,ThinkPHP)