php 爬虫抓取网页数据(【每日一题】网络爬虫的爬行策略(一))

优采云 发布时间: 2022-04-10 12:31

  php 爬虫抓取网页数据(【每日一题】网络爬虫的爬行策略(一))

  1、网络爬虫原理网络爬虫是指按照一定的规则自动爬取互联网上的程序(模拟手动登录网页的方式)。简单的说就是获取和存储你在互联网上看到的页面上的内容。网络爬虫的爬取策略分为深度优先和广度优先。如下图所示,深度优先的遍历方法是A到B到D到E到C到F(ABDECF)和广度优先的遍历方法ABCDEF。2、写网络爬虫的原因(1)互联网数据量巨大,我们不能手动采集数据,会浪费时间和金钱...

  

  大家好,我是建筑师,一个会写代码,会背诗的建筑师。今天就来说说网络爬虫的原理解析【通俗易懂】,希望可以帮助大家进步!!!

  1、网络爬虫原理

  网络爬虫是指按照一定的规则自动爬取网络上的程序(模拟手动登录网页的方式)。简单的说就是获取和存储你在互联网上看到的页面上的内容。网络爬虫的爬取策略分为深度优先和广度优先。如下图所示,深度优先的遍历方法是A到B到D到E到C到F(ABDECF)和广度优先的遍历方法ABCDEF。

  

  2、写网络爬虫的原因

  (1)互联网数据量很大,我们不能手动采集数据,浪费时间和金钱。爬虫的一个特点是可以批量自动获取和处理数据。例如,主要汽车论坛 互联网上的爬虫、大众点评网、tripadvisor的爬虫(国外网站)已经爬取了千万条数据,我想如果你一个一个复制,你是做不完的直到你死。

  (2)爬虫很酷。前段时间看到有人爬到腾讯的3000万QQ数据,包括(QQ号、昵称、空间名、会员等级、头像、最新谈话内容、最新讲座)发布时间、空间剖面、性别、生日、省、市、婚姻状况等详细数据,绘制各种有趣的图表。

  (3)对于攻读*敏*感*词*、博士、数据挖掘和数据分析的人来说,没有数据做实验是一件非常痛苦的事情。你可能每天在各种论坛上问这个那个。数据,是不是很烦?

  3、网络爬虫的进程

  

  通过上图可以完成一个简单的网络爬虫。首先给出一个待爬取的URL队列,然后通过抓包得到数据的真实请求地址。然后用httpclient模拟浏览器抓取对应的数据(一般是html文件或者json数据)。因为网页中的内容很大很复杂,很多内容不是我们需要的,所以需要解析。html的解析非常简单,可以通过Jsoup(Dom解析工具)和正则表达式来完成。对于Json数据的解析,这里推荐一个快速解析工具fastjson(阿里开源的一个工具)

  4、网络抓包

  网络抓包(packet capture)是对网络传输发送和接收的数据包进行拦截、重传、编辑、转储等,常用于数据拦截。当数据响应是Json或者需要用户名密码才能登录的网站时,抓包就显得尤为重要,抓包也是编写网络爬虫的第一步。

  

  图为东方财富网,抓包结果,可以看到真实的响应地址:Request URL和上面网页请求的地址不一样,我们看一下*敏*感*词*的回应。响应的数据格式是 JSON 文件。这里我们可以看到*敏*感*词*一共有61页,其中当前页的数据是data[Json数据]。

  

  因此,使用网络抓包是网络爬虫的第一步,可以直观的看到数据请求的真实地址、请求方式(post、get请求)、数据类型(html或Json数据)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线