网络爬虫理论基础

网络爬虫理论基础

1. 网络爬虫的基本概念

网络爬虫初识

网络爬虫(Crawler)又称网络蜘蛛(Spider),网络蚂蚁(Ant)和网络机器人(Robot),可以按照事先制定的规则(爬虫算法)自动地浏览并获取网页信息的计算机程序。

爬虫是搜索引擎的核心组件,这种爬虫称为通用爬虫,目的是尽可能多地爬取网页。

为何要学习爬虫

  1. 数据采集,为数据分析提供原材料
  2. 私人定制搜索引擎
  3. 理解爬虫原理,更好地进行搜索引擎优化(SEO)
  4. 就业需求旺,薪酬高

网络爬虫的组成

网络爬虫由控制节点爬虫节点资源库构成:

  • 控制节点,分配任务,调度协调
  • 爬虫节点,采集(下载网页)加工(文本处理),存储入库
  • 资源库,存放采集结果和辅助加工处理的资源仓库

网络爬虫的类型

网络爬虫按照实现技术和结构可分为:

  • 通用网络爬虫(General Purposed Web Crawler):即全网爬虫,爬取海量数据,大型搜索引擎的核心。主要由初始(种子)URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等构成。其爬行策略主要有**深度优先(DF)广度优先(BF)**策略。
  • 聚焦网络爬虫(Focused Web Crawler):即主题网络爬虫,按照预先定义好的主题有选择地进行网页爬取的一种爬虫。主要由初始(种子)URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块、链接评价模块等构成。其爬行策略主要有四种:基于内容评价的爬行策略、基于链接评价的爬行策略、基于增强学习的爬行策略和基于语境图的爬行策略。
  • 增量式网络爬虫(Incremental Web Crawler):只爬取内容发生变化或新网页的爬虫,即只对变化感兴趣的爬虫。
  • 深层网络爬虫(Deep Web Crawler):可以爬取深层页面的爬虫。所谓深层页面是指隐藏于表单之后,不能通过静态链接直接获取,需要提交一定关键词(填写表单)之后才能获取的到的页面。主要由初始(种子)URL列表、LVS列表(用来填充表单的标签数值集)、爬行控制器、解析器、LVS控制器、表单分析器、响应分析器等构成。深层网络爬虫表单填写的方式有两类:基于领域知识的表单填写和基于网页结构分析的表单填写

重点–聚焦爬虫

由于聚集爬虫可以按相应的主题有目的地进行页面(数据)爬取,可以节省大量服务器和带宽资源,具有很强的实用性。 聚焦爬虫的工作流程如下图所示:

在这里插入图片描述

2. 网络爬虫的用途

网络爬虫的常用功能

网络爬虫的常用功能有:

  • 搜索引擎
  • 爬取图片
  • 爬取网站用户公开的信息进行分析
  • 爬取金融数据进行投资分析
  • 爬取多站新闻集中阅读
  • 自动去网页广告
  • 爬取用户公开的联系方式,进行营销

爬虫的出现,可以在一定程度上代替手工访问网页,使人工访问互联网的操作自动化,以更高效地利用好互联网中的有价值信息。

搜索引擎核心

搜索引擎核心工作流程如下图所示:

在这里插入图片描述

用户爬虫

用户爬虫即专门用来爬取互联网中用户数据(价值比较高)的一种爬虫。

3. 网络爬虫实现原理与技术

网络爬虫实现原理

1 通用网络爬虫

通用网络爬虫的实现原理及过程如下图所示:

在这里插入图片描述

2 聚焦网络爬虫

聚焦网络爬虫,由于其需要有目的地进行爬取,所以相对于通用网络爬虫,增加了目标定义和过滤机制,也就是说,其执行原理和执行过程需要比通用网络爬虫多出三步,即目标的定义、无关链接的过滤和下一步要爬取URL地址的选取等,如下图所示:

在这里插入图片描述

爬行策略

爬行策略主要有深度优先广度优先大站优先反链策略等。

如下图所示,假设有一个网站,ABCDEFG分别为站点下的网页,图中箭头表示网页的层次结构。

在这里插入图片描述

如果按照深度优先爬行策略,则首先会爬取上层的一个网页,然后将此网页的下层链接依次深入爬取完再返回上一层进行爬取。 所以,若按照深度优先爬行策略,上图网页的爬行顺序可以是:A -> D -> E -> B -> C -> F -> G

如果按照广度优先爬行策略,则首先会爬取同一层次的网页,将同一层次的网页全部爬取完成后,再选择下一个层次的网页去爬行。所以,若按照广度优先爬行策略,上图网页的爬行顺序可以是:A -> B -> C -> D -> E -> F -> G

所谓大站就是网页数量多的网站。大站优先爬取策略,就是优先爬取大站中网页URL的策略。

一个网页的反向链接数,指的是该网页被其他网页指向的次数,这反映了该网页被其他网页引用(推荐)的次数。因此,如果按照反链策略爬行的话,将优先爬行受欢迎(当然不一定真实)的网页。

除了上述爬行策略,实际中还有很多其他爬行策略,如OPIC(在线页面重要性计算)策略、Partial PageRank(非完全页面分级)策略

更新策略

显然,网站的更新频率与爬虫访问网站的频率越接近,效果越好。当爬虫服务器资源有限时,爬虫也需要根据对应策略,让不同的网页具有不同的更新优先级,优先级高的网页更新,将获得较快的爬取响应。

具体来说,常见的网页更新策略主要有3种:

  • 用户体验策略:优先更新排名结果靠前的网页
  • 历史数据策略:通过泊松过程进行建模等手段,预测网页下一次更新的时间,从而确定下一次对该网页爬取的时间,即确定更新周期
  • 聚类分析策略:使用聚类算法计算具有类似内容网页的更新频率(内容类似的页面也有类似的更新频率)

网页分析算法

网页分析,就是对爬取到原始数据库中的网页进行分析以确定网页重要性,作为用户检索排名结果的依据。

搜索引擎的网页分析算法主要分为3类:

  • 基于用户行为的网页分析算法:即依据用户对这些网页的访问行为(如访问频率、时长,点击率)对网页进行评价
  • 基于网络拓扑的网页分析算法:即依据网页的链接关系、结构关系、已知网页或数据等对网页进行分析的一种算法。所谓拓扑,即结构关系。可以细分为:基于网页粒度(如PageRank)的分析算法;基于网页块粒度的分析算法;基于网站粒度(SiteRank)的分析算法
  • 基于网页内容的网页分析算法:即依据网页的数据、文本等网页内容特征,对网页进行相应的评价

身份识别

一般地,爬虫在对网页进行爬取访问的时候,会通过HTTP请求中的UserAgent字段告知Web服务器自己的身份信息。

一般爬虫访问一个网站的时候,首先会根据该站点下的Robots.txt文件来确定可爬取网页的范围。Robots协议是需要网络爬虫遵守的协议,对于一些禁止的URL地址,网络爬虫则不应爬取访问。

当然,有些爬虫会伪装成其他爬虫或浏览器去爬取网站,以获得额外数据。虽然在技术上可以无视Robots协议的限制而任意爬取,但这些行为不提倡。

网络爬虫实现技术

几乎所以的编程语言和平台都可以实现网络爬虫,常见的有:

  • Python:框架丰富,简单易学,代码简洁,可读性高
  • Java:适合大型爬虫项目
  • PHP:后端处理很强,模块丰富,但不易开发
  • NodeJS:高并发,多线程
  • C++:速度快,成本高
  • Go:高并发
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
新闻文本可视化是一种将大量的、复杂的文本信息以可视化的方式呈现出来,帮助人们更好地理解和解析信息的工具。新闻文本可视化的理论基础主要包括数据处理、信息设计和可视化技术三个方面。 首先,数据处理是新闻文本可视化的基础,它涉及数据的收集、清洗、整合和转换等过程,是可视化过程的先决条件。对于新闻文本数据的收集,可以通过多种渠道获取,如通过网络爬虫、API接口、数据库等方式来收集新闻文本数据。在收集后需要进行数据清洗,剔除无用信息和重复信息,减少冗余信息,并把数据转换成适合可视化分析的格式。 其次,信息设计是新闻文本可视化的核心,它关系到人们对数据的理解和分析。信息设计需要考虑的要素包括数据结构、信息分类、数据间的相互关系、表现形式等。在信息设计的过程中,可以运用数据分析、统计学等方法,通过对数据的分类、聚类、排序等方式来识别数据中的规律和趋势,从而进一步确定可视化表现方式。 最后,可视化技术为新闻文本可视化提供了丰富的表达方式,可以通过多种形式来展现数据,如点状图、条形图、饼图、地图等。可视化技术需要针对不同的数据类型和数据规模进行选择,在选择后需要进行设计和优化,以充分利用图像语言来展现新闻文本数据的意义和价值。 总之,新闻文本可视化理论基础是数据处理、信息设计和可视化技术三个方面的综合运用,通过对这些要素的理解和应用,可以为人们提供更加清晰、直观、便于理解的新闻信息展现方式,同时也可以帮助人们更加深入地理解新闻事件的内涵和含义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deng872347348

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值