[发明专利]一种基于Scrapy-Redis的分布式网络爬虫优化方法在审
申请号: | 202010317200.5 | 申请日: | 2020-04-21 |
公开(公告)号: | CN111611463A | 公开(公告)日: | 2020-09-01 |
发明(设计)人: | 王宝亮;陈伟宁 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;H04L12/24;H04L29/12 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 程毓英 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 scrapy redis 分布式 网络 爬虫 优化 方法 | ||
本发明涉及一种基于Scrapy‑Redis的分布式网络爬虫优化方法,包括以下方面:(1)去重过程优化:使用布隆过滤器代替指纹去重机制,在优化后的去重过程中,元素集合使用位数组形式表示;(2)空闲监测机制:设置一个空闲时间阈值作为分界条件,在接收到某节点的空闲信号之后,若监听到空闲时间小于等于空闲时间阈值,则节点继续工作;若监听到空闲时间大于空闲时间阈值,则可以判定为该节点暂无待爬取任务,即可结束此节点进程;(3)动态请求配置。
技术领域
本发明涉及一种分布式网络爬虫优化方法。
背景技术
随着计算机技术的蓬勃发展,网络信息数据量呈指数增长,如何高效获取数据成为新的挑战。网络爬虫技术作为一种常见的数据抓取策略,一直被广泛应用于互联网领域中,通过自动化形式的动态抓取,大大节省了用户获取数据的时间。如各类搜索引擎、各类信息统计发布站点等,都以网络爬虫技术为核心进行功能的开发和拓展。
近年来,为了有效应对网络中更灵活的数据源和更庞大的数据量,国内外众多学者为爬虫技术做出了突出贡献。一方面是探索更为简洁实用的通用型爬虫框架,如Scrapy框架通过引擎、调度器、下载器、爬虫、管道以及中间件六大组件的交互使用,大大提高了爬虫的灵活性,同时简化了繁琐的冗余代码编写。另一方面是研究大数据爬取时的性能问题,如使用Redis内存型数据库提高爬虫运行效率以及使用分布式方案进行多节点同步抓取数据等。
发明内容
本发明基于Scrapy-Redis提出了一种分布式爬虫优化方法。在使用Scrapy框架并引入Redis的前提下,为了有效降低内存占用率,在原有指纹去重机制的基础上,提出了一种更高效的去重策略,为了有效减少资源损耗并对爬虫过程进行实时监测,提出了一种空闲监测机制,为了有效防止在进行大量数据爬取时被目的服务器屏蔽,提出了一种动态请求配置方案。技术方案如下:
一种基于Scrapy-Redis的分布式网络爬虫优化方法,包括以下方面:
(1)去重过程优化
使用布隆过滤器代替指纹去重机制,在优化后的去重过程中,元素集合使用位数组形式表示。当一个元素被加入集合时,通过K个散列函数将此元素映射成一个位数组中的K个点,并将所有点置为1;在进行判别检索时,若所有点的值均为1,则被检元素大概率出现在集合中;若所有点中存在0,则被检元素一定不在集合中。
(2)空闲监测机制
采用空闲监测机制,空闲监测机制使用Scrapy中的spider_idle信号来监测爬虫的空闲状态,当爬虫进入空闲状态时,该信号被发送;爬虫空闲时的三种情形:一是Request请求正在等待被下载;二是Request请求正在被调度;三是数据正在管道中被处理,为此三类情形设置一个空闲时间阈值作为分界条件,在接收到某节点的空闲信号之后,若监听到空闲时间小于等于空闲时间阈值,则节点继续工作;若监听到空闲时间大于空闲时间阈值,则可以判定为该节点暂无待爬取任务,即可结束此节点进程。
(3)动态请求配置
当客户端频繁向目的服务器发送请求时,可能被服务器辨认为恶意程序进而限定客户端行为,通过配置动态请求解决此问题:
一是进行动态IP的配置:维护一个可长期运行的IP池以供使用,并在每次发起请求时保证IP的随机性,为应对请求失败的情形,根据应用场景,配置接收到何种响应时尝试再次请求,并配置尝试请求次数达到何值时视为爬虫失败;同时,保证动态IP与Scrapy中下载中间件的关联性。
二是进行动态请求头的配置:按真实请求头规范编写一个请求头集合,用来模拟各类浏览器发起请求的过程,禁用Scrapy下载中间件中的请求头设置。
本发明的有益效果如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010317200.5/2.html,转载请声明来源钻瓜专利网。