面向垂直搜索的主题爬虫爬行策略的研究与实现
发布时间:2020-08-01 07:50
【摘要】:现如今,越来越多的组织机构或者个人通过垂直搜索引擎收集和搜索某一特定领域的内容。但是,多数垂直搜索引擎的数据主要采用定向抓取解析的方式,比如pyspider,或者通过URL链接分析抓取大量数据,然后判断与主题相关性,有效抓取率低;垂直搜索引擎的重访策略满足不了对信息时效性的需求;此外,多数垂直搜索引擎没有考虑所关注领域的特征值随时间变化;爬虫系统也应该具有躲避反爬虫机制的能力,以获得更多数据。 本文重点针对垂直搜索引擎的数据抓取和数据分类,设提出了一个高效的基于支持向量机算法的网页分类模型,设计并实现了一个新型的基于索引网页的分布式可扩展主题爬虫系统。本文主要贡献如下: 1.优化爬行策略是优化爬虫效率的最有效方式。本文提出加入索引网页的URL树形结构,根据网页主题在URL链接之间的传递关系,通过索引网页给出更准确的预测相关性,减少不必要的爬取。 2.本文提出了索引网页的辨识方法,提取拥有较高链接度和导航性质的索引网页,保持高频爬取,优化网页重访策略,及时获得最新的消息,保证消息时效性。 3.判断页面相关性最有效的途径是页面分类,这也是垂直搜索引擎的关键所在。本文针对SVM算法提出了带反馈机制的网页分类流程,保证主题的表示并不偏移主题本身;同时对跨领域网页的重点分析抓取,给出较高的优先级,有助于垂直搜索引擎拓宽爬取范围,获得更多有效的信息。 4.设计了一个新型的基于消息系统的分布式主题爬虫系统,减少组件间的耦合关系,使该系统可以更方便地实现对网页下载程序和解析程序的扩展,满足垂直搜索引擎的弹性需求。 最后设计实现该爬虫系统,对分类效果进行测试,并针对该系统的设计给出优缺点的评价。
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP391.3
【图文】:
图2-3 Scrapy爬虫系统数据流丨^9】前,^u源的爬虫项0很多,比如Scrapyfi9】和Nutch[2G】。Nutch其实是一个开源的va实现的搜索引擎,其中Crawler组件是Nutch中的爬虫系统。Scrapy是一个^uthon实现的爬虫系统,拥有更多的定制功能。Scrapy在易用性,拓展性等方而具体实现,NB因其作为^u源系统,rll Python实现,丰富的文档,众多的Conttibutors,结构也较为完善。apy 包柄 Scrapy Engine,Scheduler, Downloader,Spiders, Item Pipeline \rt\li-\'c1 ) Scrapy Engine主要负责控制数据流的流向和相应事件的触发。2 ) Scheduler作为调度器,主要执行URL有效性判断和入队操作。3 ) Spiders用于解析网页,提取items,即链接,title等;Spiders中每一个Spider理一个或者多个特定的网站。4) Item Pipeline负责处理被spider提取出来的item,进行持久化存储等操作。5) Downloader 负责 request 请求和接收 response丨丨、arpy 提供了 Downloader middlewares 和 Spider middlewares 两个中间件用于插入
学工程硕士学位论文文介绍的URL树中可以添加索引网页的节点,具体添加方法见3.1.4节。索引网页识别Web2.0时代的发展,当前网络环境下,信息的提供者主要包括机构,组织模型。机构一般通过直接构建站点的方式展示信息,组织则一般是通过论坛信息,个人主要通过博客和一些个人站点展示信息。因此,本节主要考虑三式的索引网页:论坛模式,博客模式和主站模式。网页主要由铺文本构成,比如论坛的主页,文本信息不太长,但是文本都有的网页。索引网页主要有两个特点一个是链接特点,一个是内容特点。特点是指:(1)链接数量较多,(2)链接指向当前域名下的子网页。特点则是指:(1)文本较短,(2)有效链接的锚文本可能会有关键词相关。Ku- : 7:? V. f-' ^ Hh ■■ 七子w 土 :科i ? ? i:
最多的区域视为正文文本区域。对比图4-9,4-10,4-11也可以得出索引网页和普通网页在行块维度上的区别。行块维度上的计算可以基本上较完整地区分索引网页和内容页。利用第三章中的公式计算,在人工搜集的200张索引网页中,可以识别的索引网页数量为174,识别率达到87%。部分没有识别出的目录网页中都会有干扰成分,比如在http://www.discuz.net/forum-2-l.html网页中,该论坛的每一张网页之前都有一大段文本介绍论坛规则,导致识别错误。网页解析的主要代码流程如下:#lines对应每行的长度lines = tuple(self.plain_text.split('\n'))len_per_lines = [len(re.sub(r*\s+*, ?’
本文编号:2777181
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP391.3
【图文】:
图2-3 Scrapy爬虫系统数据流丨^9】前,^u源的爬虫项0很多,比如Scrapyfi9】和Nutch[2G】。Nutch其实是一个开源的va实现的搜索引擎,其中Crawler组件是Nutch中的爬虫系统。Scrapy是一个^uthon实现的爬虫系统,拥有更多的定制功能。Scrapy在易用性,拓展性等方而具体实现,NB因其作为^u源系统,rll Python实现,丰富的文档,众多的Conttibutors,结构也较为完善。apy 包柄 Scrapy Engine,Scheduler, Downloader,Spiders, Item Pipeline \rt\li-\'c1 ) Scrapy Engine主要负责控制数据流的流向和相应事件的触发。2 ) Scheduler作为调度器,主要执行URL有效性判断和入队操作。3 ) Spiders用于解析网页,提取items,即链接,title等;Spiders中每一个Spider理一个或者多个特定的网站。4) Item Pipeline负责处理被spider提取出来的item,进行持久化存储等操作。5) Downloader 负责 request 请求和接收 response丨丨、arpy 提供了 Downloader middlewares 和 Spider middlewares 两个中间件用于插入
学工程硕士学位论文文介绍的URL树中可以添加索引网页的节点,具体添加方法见3.1.4节。索引网页识别Web2.0时代的发展,当前网络环境下,信息的提供者主要包括机构,组织模型。机构一般通过直接构建站点的方式展示信息,组织则一般是通过论坛信息,个人主要通过博客和一些个人站点展示信息。因此,本节主要考虑三式的索引网页:论坛模式,博客模式和主站模式。网页主要由铺文本构成,比如论坛的主页,文本信息不太长,但是文本都有的网页。索引网页主要有两个特点一个是链接特点,一个是内容特点。特点是指:(1)链接数量较多,(2)链接指向当前域名下的子网页。特点则是指:(1)文本较短,(2)有效链接的锚文本可能会有关键词相关。Ku- : 7:? V. f-' ^ Hh ■■ 七子w 土 :科i ? ? i:
最多的区域视为正文文本区域。对比图4-9,4-10,4-11也可以得出索引网页和普通网页在行块维度上的区别。行块维度上的计算可以基本上较完整地区分索引网页和内容页。利用第三章中的公式计算,在人工搜集的200张索引网页中,可以识别的索引网页数量为174,识别率达到87%。部分没有识别出的目录网页中都会有干扰成分,比如在http://www.discuz.net/forum-2-l.html网页中,该论坛的每一张网页之前都有一大段文本介绍论坛规则,导致识别错误。网页解析的主要代码流程如下:#lines对应每行的长度lines = tuple(self.plain_text.split('\n'))len_per_lines = [len(re.sub(r*\s+*, ?’
【参考文献】
相关期刊论文 前5条
1 徐文龙;姚立红;潘理;倪佑生;;基于TSVM的网络入侵检测研究[J];计算机工程;2006年18期
2 王利;刘宗田;王燕华;廖涛;;基于内容相似度的网页正文提取[J];计算机工程;2010年06期
3 黄玲;陈龙;;基于网页分块的正文信息提取方法[J];计算机应用;2008年S2期
4 王晨阳;;一种NAT端口映射保持的自适应算法[J];科学技术与工程;2010年34期
5 孙承杰,关毅;基于统计的网页正文信息抽取方法的研究[J];中文信息学报;2004年05期
本文编号:2777181
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/2777181.html