`

网络爬虫技术

    博客分类:
  • Java
阅读更多
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,百度,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:

(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
(2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
(3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
(4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(generalpurpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。

1 聚焦爬虫工作原理及关键技术概述
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件,如图1(a)流程图所示。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,如图1(b)所示。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
(1) 对抓取目标的描述或定义;
(2) 对网页或数据的分析与过滤;
(3) 对URL的搜索策略。
抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。

2 抓取目标描述
现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。
基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为:
(1)预先给定的初始抓取种子样本;
(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;
(3)通过用户行为确定的抓取目标样例,分为:
a) 用户浏览过程中显示标注的抓取样本;
b) 通过用户日志挖掘得到访问模式及相关样本。
其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。
基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。具体的方法根据种子样本的获取方式可以分为:(1)预先给定的初始抓取种子样本;(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;(3)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
设定RSS爬虫重新访问的5个级别:
Level[1]=20 Minutes
Level[2]=200 Minutes
Level[3]=1000 Minutes
Level[4]=2000 Minutes
Level[5]=10000 Minutes
设定RSS 源的权重为从0到5
RssRank=0 ~ 5
要点:
1.每一个RSS 源对应一个时间T[i],这个时间取整就得到 Level 。例如,这个时间是250分钟,那么就取Level[2],就是每隔200分钟抓取一次。
2.每一次这个对应时间都是改变的,根据这个RSS源有没有变化。
3.当更新了,这个时间就除以1.2 ,当未更新,这个时间就乘以1.2。
4.RssRank起到调整更新时间级别的规则。例如当一个RSS在Level[5],但是它的RssRank是3,那么更新时间调整为Level[5-3] = Level[2] = 200分钟。
总体公式:
T[i+1] = T[i] [(1.2)(1.2)]
T = Level[ AntiLevel[T[i][(1.2)(1.2)]] - RssRank]
经过长时间的运行,T序列都变动非常稳定。
分享到:
评论

相关推荐

    《Python网络爬虫技术案例教程》PPT课件(共10单元)七单元爬取APP和PC客户端数据.pdf

    《Python网络爬虫技术案例教程》PPT课件(共10单元)七单元爬取APP和PC客户端数据.pdf《Python网络爬虫技术案例教程》PPT课件(共10单元)七单元爬取APP和PC客户端数据.pdf《Python网络爬虫技术案例教程》PPT课件(共10...

    Python网络爬虫技术_习题答案.rar

    Python网络爬虫技术是当前IT领域中非常热门的一个分支,尤其在大数据分析和人工智能应用中起着关键作用。本资源“Python网络爬虫技术_习题答案.rar”看似是一个教学资料,包含了一些图像文件和章节内容,我们可以从...

    Python网络爬虫技术-教学大纲.pdf

    《Python网络爬虫技术》教学大纲详细解析 Python网络爬虫技术是一门针对大数据技术类专业的必修课程,旨在培养学生利用Python语言进行网络数据抓取的能力。课程总学时为32学时,包括14学时的理论教学和18学时的实验...

    基于Python的网络爬虫技术研究

    根据给出的文件内容,下面详细说明关于基于Python的网络爬虫技术研究的相关知识点。 ### 1. 网络爬虫系统需求的分析和设计 在研究网络爬虫技术时,首先需要对爬虫系统进行需求分析和设计。根据文件内容描述,一个...

    基于网络爬虫技术的网络新闻分析.zip

    《基于网络爬虫技术的网络新闻分析》是一个涵盖了多种信息技术的综合应用,主要涉及网络爬虫、中文分词、中文相似度判定、数据结构化存储和数据可视化等关键环节。以下将详细介绍这些知识点: 1. **网络爬虫**:...

    《Python网络爬虫技术案例教程》PPT课件(共10单元)七单元爬取APP和PC客户端数据.pptx

    爬取App和PC客户端数据 《Python网络爬虫技术案例教程》PPT课件(共10单元)七单元爬取APP和PC客户端数据全文共34页,当前为第1页。 本章导读 7 第 章 随着Web端的反爬虫方式越来越多,JavaScript调用越来越复杂,爬虫...

    基于网络爬虫技术的大数据采集系统设计.pdf

    网络爬虫技术作为一种高效的数据采集工具,近年来被广泛应用于大数据采集系统的设计中。本文将介绍基于网络爬虫技术的大数据采集系统的设计方法,并探讨其在提高数据采集速度方面的优势。 首先,我们来看网络爬虫...

    《网络爬虫技术与应用》课程教学大纲.pdf

    《网络爬虫技术与应用》课程教学大纲.pdf《网络爬虫技术与应用》课程教学大纲.pdf《网络爬虫技术与应用》课程教学大纲.pdf《网络爬虫技术与应用》课程教学大纲.pdf《网络爬虫技术与应用》课程教学大纲.pdf《网络爬虫...

    Python网络爬虫技术 完整教案.docx

    ### Python网络爬虫技术知识点详解 #### 一、Python网络爬虫技术概览 ##### 1.1 网络爬虫概念与原理 - **定义**:网络爬虫(Web Crawler),也称为网页蜘蛛或自动索引器,是一种按照一定的规则自动地抓取互联网...

    Java毕业设计——基于网络爬虫技术的网络新闻分析(论文+答辩PPT+源代码+数据库).zip

    这个项目包含了从设计思路、技术选型、代码实现到最终答辩的完整流程,对于学习Java和网络爬虫技术的学生来说具有很高的参考价值。 首先,网络爬虫是互联网信息抓取的重要工具,它能自动化地遍历网页,提取所需信息...

    Python网络爬虫技术基础知识探讨.pdf

    本文旨在探讨Python网络爬虫技术的基础知识,包括网络爬虫技术的定义、技术总体需求、数据抓取途径、爬虫筛选技术以及技术的应用环境等多个方面,为Python网络爬虫技术的广泛应用提供参考。 Python网络爬虫技术概述...

    《Python网络爬虫技术》源数据和代码.zip

    《Python网络爬虫技术》是一本面向初学者的教程,旨在教授如何利用Python语言进行网络数据的抓取、处理和分析。源数据和代码的提供为学习者提供了实践操作的机会,帮助他们更好地理解和掌握网络爬虫的基本原理和技巧...

    基于Python的网络爬虫技术.pdf

    网络爬虫技术是互联网数据抓取的重要手段,能够自动化地从互联网上搜集信息。Python作为一种编程语言,凭借其简洁的语法和强大的库支持,成为了实现网络爬虫的热门选择。本文将详细介绍基于Python的网络爬虫技术。 ...

    Python网络爬虫技术手册 源码

    Python网络爬虫技术手册 Python网络爬虫技术手册 Python网络爬虫技术手册 Python网络爬虫技术手册 Python网络爬虫技术手册 Python网络爬虫技术手册

    利用网络爬虫技术获取他人数据行为的 法律性质分析.pdf

    随着信息技术的飞速发展,网络爬虫技术作为一种自动化信息搜集工具,在数据获取领域扮演着重要角色。它在帮助企业和个人高效收集网络信息、支持数据分析和市场研究方面具有显著优势。然而,随着网络爬虫技术的广泛...

    网络爬虫技术(讲义)-_20200907223212.pdf

    网络爬虫技术是利用编程手段自动化地访问互联网资源,从中抓取信息的一门技术。在当今的数字化时代,网络爬虫被广泛应用于信息的收集、数据挖掘和分析等领域。通过网络爬虫技术,我们可以实现对大量网页内容的自动化...

    搜索引擎中网络爬虫技术的发展

    ### 搜索引擎中网络爬虫技术的发展 #### 引言 随着互联网的迅猛发展,搜索引擎技术也随之快速进步,成为人们在网络海洋中获取信息的重要工具。搜索引擎的效能直接关系到用户能否快速准确地找到所需信息。其中,...

    Python网络爬虫技术-源代码和实验数据.rar

    Python网络爬虫技术是开发和收集互联网数据的重要工具,它允许程序员通过自动化的方式获取网页信息。这个"Python网络爬虫技术-源代码和实验数据.rar"压缩包包含了一系列的源代码示例和实验数据,旨在帮助学习者深入...

Global site tag (gtag.js) - Google Analytics