PHP网络爬虫

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

本文结构:

一、抓取需要登录网页

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

三、总结

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

一、抓取需要登录网页

1、拿到cookie

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

2、利用cookie获取网页内容

演示代码如下:

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

3、获取网页指定dom内容

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

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

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

三、总结

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,008评论 25 709
  • 你爬了吗? 要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网...
    Albert新荣阅读 6,630评论 0 8
  • 33款可用来抓数据的开源爬虫软件工具 要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即...
    visiontry阅读 12,164评论 1 99
  • 难怪有人喜欢养狗,真的那么乖,忍不住喜爱它。前天我在河边散步,看到很多主人牵着狗。几步一个几步一个。我原来最怕的大...
    今墨阅读 1,657评论 0 1
  • 姓名:王泓博 王映婷 年龄:10岁 6+岁 二组 考虑到二个宝贝都是在读小学,重要的是映婷刚上一年级,所以哥哥和...
    Alice妈妈阅读 1,162评论 1 1

友情链接更多精彩内容