首页 > 其他分享 >认识网爬1

认识网爬1

时间:2023-09-05 21:01:58浏览次数:23  
标签:网页 认识 爬行 爬虫 网络 节点 页面

一. 认识网络爬虫

说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有网页都抓取完为止。

 

网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动化列兰网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。

二. 网络爬虫的组成

网络爬虫由控制节点、爬虫节点、资源库构成。如下图所示:

 

 

可以看到,网络爬虫中可以有多个控制节点,每个控制节点下可以有多个爬虫节点,控制节点之间可以互相通信,同时,控制节点和其下的各爬虫节点之间也可以进行互相通信,属于同一个控制节点下的各个爬虫节点间,亦可以互相通信。

 

控制节点:也叫作爬虫的中央控制器,主要负责根据URL地址分配线程,并调用爬虫节点进行具体的爬行

爬虫节点:爬虫节点会按照相关算法,对网页进行具体的爬行,主要包括下载网页以及对网页的文本进行处理,爬行后会将对应的爬行结果存储到对应的资源库中

三. 网络爬虫的类型

网络爬虫按照实现的技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类型。在实际的网络爬虫中,通常是这几类爬虫的组合体。

 

1. 通用网络爬虫

通用网络爬虫也叫做全网爬虫,通用网络爬虫爬取的目标在全互联网中。其爬取的目标数据是巨大的,并且爬行的范围也是非常大的,正是由于其爬取的数据是海量数据,故而对于这类爬虫来说,其爬取的性能要求是非常高的。这种网络爬虫主要应用于大型搜索引擎中,有非常高的应用价值。

 

通用网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库和链接过滤模块等构成。通用网络爬虫在爬行的时候会采取一定的爬行策略,主要有深度优先爬行策略和广度优先爬行策略。

 

2. 聚焦网络爬虫

聚焦网络爬虫也叫主题爬虫。聚焦网络爬虫是按照预先定义好的主题有选择地进行网页爬取的一种爬虫。聚焦网络爬虫不像通用网络爬虫一样将目标资源定位在全互联网中,而是将爬取的目标网页定位在相关主题的页面中,此时可以大大节省爬虫爬取时所需的带宽资源和服务器资源。聚焦网络主要应用在对特定信息的爬取中,主要为某一类特定人群提供服务。

 

聚焦网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块和链接评价模块等构成。聚焦网络爬虫的爬行策略主要有4种:基于内容评价的爬行策略、基于链接评价的爬行策略、基于增强学习的爬行策略和基于语境图的爬行策略。

 

3. 增量式网络爬虫

所谓增量式,对应着增量式更新。增量式更新指的是在更新的时候只更新改变的地方,而未改变的地方则不更新,所以增量式网络爬虫,在爬取网页的时候,只爬取内容发生变化的网页或者新产生的网页,对于未发生内容变化的网页,则不会爬取。增量式网络爬虫在一定程度上能够保证所爬取的页面,尽可能使新页面。

 

4. 深层网络爬虫

要介绍深层网络爬虫,我们首先要介绍一下网页的相关知识:

 

(1)静态网页

所谓静态网页,就是网页里面没有程序代码,不会被服务器执行。这种网页通常在服务器以扩展名.htm或.html存储,表示里面的内容是以HTML语言编写的。

 

HTML语言是由许多叫做标注(Tag)的元素组成的。这种语言指示了文字、图形等元素在浏览器上面的配置、样式以及这些元素实际上是存放于因特网上的哪个地方(地址),或点选了某段文字或图形后,应该要连接到哪一个网址。我们在浏览这种扩展名为.htm的网页的时候,网站服务器不用执行任何程序就会把档案传给客户端的浏览器直接进行解读。所以除非网站设计师更新网页档案的内容,否则网页的内容是不会因为执行程序而出现不同内容的。

 

(2)深层页面和表层页面

网页按存在方式分类,可以分为表层页面和深层页面。所谓表层页面,指的是不需要提交表单,使用静态的链接就能够到达的静态页面;而深层页面是需要提交一定的关键词之后才能获取的页面。在互联网中,深层页面数量往往比表层页面多得多

 

(3)网络爬虫表单填写

网络爬虫表单填写有两种类型:

 

基于领域知识的表单填写,就是建立一个填写表单的关键词库,在需要填写的时候,根据语义分析选择对应的关键词进行填写;

基于网页结构分析的表单填写,简单来说,这种填写方式一般是领域知识有限的情况下使用,这种方式会根据网页结构进行分析,并自动填写表单。

最后,我们总结一下,深层网络爬虫,就是爬取互联网中的深层页面的爬虫。

 

标签:网页,认识,爬行,爬虫,网络,节点,页面
From: https://www.cnblogs.com/jiajia521/p/17680748.html

相关文章

  • 3天上手Ascend C编程丨带你认识Ascend C基本概念及常用接口
    本文分享自《 【2023·CANN训练营第一季】——AscendC算子开发入门——第一次课(核函数的定义及实现)》,作者:dayao。AscendC是CANN针对算子开发场景推出的编程语言,原生支持C和C++标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算......
  • 多线程第一篇(认识多线程)
    多线程任务,进程,线程,多线程Process:进程Thread:线程1、基本概念进程在操作系统中运行的程序就是进程。程序是指令和数据的有序集合,其本身没有任何运行的含义,是静态的。进程就是执行程序的一次执行过程,它是一个动态的概念式系统资源分配的单位通常再一个进程中可......
  • Learn Git in 30 days——第 10 天:认识 Git 物件的绝对名称
    写的非常好的一个Git系列文章,强烈推荐原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn在Git版本控制的过程,每一个版本就代表一个commit物件。又因为版控过程中经常会建立分支,最终产出的commitgraph可能会蛮复杂的,所以如何识別不同的版本......
  • 重新认识零售,重新认识美团
    曾有人发起这样一个投票:如果手机里只留3个App,你会留下谁?类似的问题还有,如果要教家里老人用手机,优先哪几个App?微信毫无疑问地排在第一名。很多人没想到是,答案里排名第二的是美团,因为美团“功能多”,吃饭、买菜、玩乐、出游,使用高频,满足的又都是最基本的刚需,几乎涵盖了生活的方方面面......
  • 认识.NET 日志系统
    认识.NET日志系统基本概念日志级别:Trace<Debug<Information<Waring<Error<Critical日志提供者(LoggingProvider):把日志输出控制台、文件、数据库等。.NET的日志非常灵活,对于业务代码只要注入日志对象记录日志即可,具体哪些日志输出到哪里、什么样的格式、是否输出等都有配置......
  • 1.2 七个习惯成就高效能认识-以终为始与要事第一的习惯+人际领域成功的四大习惯
    一、以终为始与要事第一的习惯1.以终为始自我领导的原则确定目标需要原则2.要事原则计划自己不知道的事情选择做什么和不做什么先做什么,后做什么象限工作法(关注第二象限)二、人际领域成功的四大习惯1.双赢思维(和->利)2.知彼解己在开心的时候,传递负面信......
  • SpringBoot之Profile的认识
    一、默认的Profile如果不指定要激活的Profile,SpringBoot会使用默认的default环境。我们在启动日志中可以看到:2023-08-2623:16:31.572INFO6440---[main]c.e.w.WebSocketDemoApplication:Noactiveprofileset,fallingbackto1defaultprofile:......
  • 认识vi (Ubuntu)
    一:概述  学习linux就必须知道vi,这是所有Linux发行版本都会有的一个文本编译器,可以用来创建和编辑文件。vi也是Linux系统中最常用的工具之一,它还有一个升级版的vim,与vi相比,vim新增了很多的功能。二:vi的基本用法 如果用习惯了Windows系统下的MicrosoftWord,初学vi对于初学者来说......
  • hibernate——初步认识
    开始学习hibernate了,跟着网上的教学视频边看边学。现在有些迷茫,不知道学这些东西,以后能不能用得上,也不知道未来会发展成什么样子,也不知道我的基础算是打好了没有,总觉得学这些框架,有点浮沙筑高台的感觉,心里很不踏实。知道的都是些表面的东西,框架底层是什么样的,看看那些源代码,想看懂......
  • 1.1 七个习惯成就高效能认识-积极主动的习惯
    一、积极主动的习惯1.绩效绩效=效率->效果->效能思维、行为与结果的关系2.七大习惯的大循环3.个人成功的小循环3.1积极主动人类的本质是主动非被动的,人类不仅能针对特定环境选择回应方式,更能主动创造有利的环境。采取主动不等于胆大妄为,而是让人们充分认识到自......