纵有疾风起
人生不言弃

PHP网络爬虫

目前网络爬虫用的比较多的是用Python写的,有很多第三方包可以直接使用,而使用PHP的网络爬虫很少有现成的开发包,大多都是公司自己内部开发的,本文则主要介绍使用PHP如何开发网络爬虫,提供正则匹配dom标签的封装。

本文结构:

一、抓取需要登录网页

二、抓取不需要登录的网页

三、总结

本文适合有过PHP curl和正则开发经验的人群。

一、抓取需要登录网页

1、拿到cookie

需要登录后的网页通常利用curl模块发送cookie模拟请求,查看cookie的方式如下:

PHP网络爬虫插图

2、利用cookie获取网页内容

演示代码如下:

PHP网络爬虫插图1

其中phpcharset函数是转换字符编码用,具体代码如下:

PHP网络爬虫插图2

3、获取网页指定dom内容

此处需要用到正则匹配HTML标签,下面提供的函数支持指定HTML标签、指定ID属性和指导class属性匹配:

PHP网络爬虫插图3

二、抓取不需要登录的网页

同上面的方法,只是抓取网络内容的时候不需要指导cookie值。

三、总结

1、如果想爬取整个网站的内容怎么操作?

利用上面的ihttp_get先获取首页内容,然后利用get_tag_content获取页面所有的a标签内容,然后递归即可。

2、get_tag_content之所以提供指定id熟悉和class熟悉,是为了方便查找特定的dom标签,可以更加快速的获取想要的内容入库。

3、不熟悉正则表达式的童鞋可以通过simple_html_dom来解析,不过耗用内存大。

4、如果抓取很多页面,建议通过swoole开启多线程来抓取。

文章转载于:https://www.jianshu.com/p/4d9318282ea1

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » PHP网络爬虫
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录