网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。实际的网络爬虫系统通常是几种爬虫技术相结合实现的。
通用网络爬虫
通用网络爬虫又称全网爬虫(Scalable Web Crawler),爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。由于商业原因,它们的技术细节很少公布出来。这类网络爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低,同时由于待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面。虽然存在一定缺陷,通用网络爬虫适用于为搜索引擎搜索广泛的主题,有较强的应用价值。
通用网络爬虫的结构大致可以分为页面爬行模块、页面分析模块、链接过滤模块、页面数据库、URL队列、初始URL集合几个部分。为提高工作效率,通用网络爬虫会采取一定的爬行策略。常用的爬行策略有:深度优先策略、广度优先策略。
(1)深度优先策略:其基本方法是按照深度由低到高的顺序,依次访问下一级网页链接,直到不能再深入为止。爬虫在完成一个爬行分支后返回到上一链接节点进一步搜索其它链接。当所有链接遍历完后,爬行任务结束。这种策略比较适合垂直搜索或站内搜索,但爬行页面内容层次较深的站点时会造成资源的巨大浪费。
(2)广度优先策略:此策略按照网页内容目录层次深浅来爬行页面,处于较浅目录层次的页面首先被爬行。当同一层次中的页面爬行完毕后,爬虫再深入下一层继续爬行。这种策略能够有效控制页面的爬行深度,避免遇到一个无穷深层分支时无法结束爬行的问题,实现方便,无需存储大量中间节点,不足之处在于需较长时间才能爬行到目录层次较深的页面。
聚焦网络爬虫
聚焦网络爬虫(Focused Crawler),又称主题网络爬虫(Topical Crawler),是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。
聚焦网络爬虫和通用网络爬虫相比,增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,不同的方法计算出的重要性不同,由此导致链接的访问顺序也不同。
(1)基于内容评价的爬行策略:DeBra将文本相似度的计算方法引入到网络爬虫中,提出了Fish Search算法,它将用户输入的查询词作为主题,包含查询词的页面被视为与主题相关,其局限性在于无法评价页面与主题相关度的高低。Herseovic对 Fish Search算法进行了改进,提出了Sharksearch算法,利用空间向量模型计算页面与主题的相关度大小。
(2)基于链接结构评价的爬行策略:Web页面作为一种半结构化文档,包含很多结构信息,可用来评价链接重要性。PageRank算法最初用于搜索引擎信息检索中对查询结果进行排序,也可用于评价链接重要性,具体做法就是每次选择PageRank值较大页面中的链接来访问。另一个利用Web结构评价链接价值的方法是HITS方法,它通过计算每个已访问页面的Authority权重和Hub权重,并以此决定链接的访问顺序。
(3)基于增强学习的爬行策略:Rennie和McCallum将增强学习引入聚焦爬虫,利用贝叶斯分类器,根据整个网页文本和链接文本对超链接进行分类,为每个链接计算出重要性,从而决定链接的访问顺序。
(4)基于语境图的爬行策略:Diligenti等人提出了一种通过建立语境图(Context Graphs)学习网页之间的相关度,训练一个机器学习系统,通过该系统可计算当前页面到相关Web页面的距离,距离越近的页面中的链接优先访问。印度理工大学(IIT)和IBM研究中心的研究人员开发了一个典型的聚焦网络爬虫。该爬虫对主题的定义既不是采用关键词也不是加权矢量,而是一组具有相同主题的网页。它包含两个重要模块:一个是分类器,用来计算所爬行的页面与主题的相关度,确定是否与主题相关;另一个是净化器,用来识别通过较少链接连接到大量相关页面的中心页面。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫 网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。实际的网络爬虫系统通常是几种爬虫技术相结合实现的。 通用网络爬虫 通用网络爬虫又称全网爬虫(Scalable Web Crawler),爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。由于商业原因,它们的技术细节很少公布出来。这类网络爬虫的爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低,同时由于待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面。虽然存在一定缺陷,通用网络爬虫适用于为搜索引擎搜索广泛的主题,有较强的应用价值。 通用网络爬虫的结构大致可以分为页面爬行模块、页面分析模块、链接过滤模块、页面数据库、URL队列、初始URL集合几个部分。
资源推荐
资源详情
资源评论
收起资源包目录
城市房价分析系统-爬虫,使用scrapy框架实现.zip (27个子文件)
house-master
hourse_scrapy
extract_module.py 3KB
hourse_scrapy
__init__.py 0B
pipelines.py 1KB
spiders
__init__.py 161B
s1.py 3KB
__pycache__
s1.cpython-39.pyc 3KB
__init__.cpython-39.pyc 191B
s1.cpython-38.pyc 2KB
__init__.cpython-38.pyc 203B
items.py 268B
settings.py 3KB
__pycache__
settings.cpython-38.pyc 499B
middlewares.cpython-39.pyc 3KB
middlewares.cpython-38.pyc 3KB
__init__.cpython-39.pyc 183B
pipelines.cpython-38.pyc 945B
settings.cpython-39.pyc 483B
__init__.cpython-38.pyc 195B
pipelines.cpython-39.pyc 1KB
middlewares.py 4KB
scrapy.cfg 269B
start.py 71B
allCityUrl.csv 7KB
cityUrl.csv 357B
LICENSE 34KB
.gitignore 56B
新建文本文档.txt 5KB
共 27 条
- 1
资源评论
野生的狒狒
- 粉丝: 3396
- 资源: 2436
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- elasticsearch-analysis-pinyin-8.17.0.zip
- elasticsearch-analysis-jieba-8.17.0.zip
- elasticsearch-analysis-ik-8.17.0.zip
- 基于opencv检测试卷中的错误问题
- elasticsearch-analysis-hanlp-8.16.2
- elasticsearch-analysis-jieba-8.16.2
- 深度学习检测不准确智能电表:一个案例研究 python源代码,代码按照高水平文章复现,保证正确 根据用电情况检测出故障的智能电表,并针对其进行更,可以节省大量的资源 为此,我们开发了一种基于长短期记
- python使用Flask框架创建一个简单的动态日历
- 计算机基本结构教案(可参考)
- elasticsearch-analysis-ik-8.16.2
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功