[发明专利]一种基于Scrapy-Redis的分布式网络爬虫优化方法在审

专利信息
申请号: 202010317200.5 申请日: 2020-04-21
公开(公告)号: CN111611463A 公开(公告)日: 2020-09-01
发明(设计)人: 王宝亮;陈伟宁 申请(专利权)人: 天津大学
主分类号: G06F16/951 分类号: G06F16/951;H04L12/24;H04L29/12
代理公司: 天津市北洋有限责任专利代理事务所 12201 代理人: 程毓英
地址: 300072*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 scrapy redis 分布式 网络 爬虫 优化 方法
【权利要求书】:

1.一种基于Scrapy-Redis的分布式网络爬虫优化方法,包括以下方面:

(1)去重过程优化

使用布隆过滤器代替指纹去重机制,在优化后的去重过程中,元素集合使用位数组形式表示;当一个元素被加入集合时,通过K个散列函数将此元素映射成一个位数组中的K个点,并将所有点置为1;在进行判别检索时,若所有点的值均为1,则被检元素大概率出现在集合中;若所有点中存在0,则被检元素一定不在集合中。

(2)空闲监测机制

采用空闲监测机制,空闲监测机制使用Scrapy中的spider_idle信号来监测爬虫的空闲状态,当爬虫进入空闲状态时,该信号被发送;爬虫空闲时的三种情形:一是Request请求正在等待被下载;二是Request请求正在被调度;三是数据正在管道中被处理,为此三类情形设置一个空闲时间阈值作为分界条件,在接收到某节点的空闲信号之后,若监听到空闲时间小于等于空闲时间阈值,则节点继续工作;若监听到空闲时间大于空闲时间阈值,则可以判定为该节点暂无待爬取任务,即可结束此节点进程;

(3)动态请求配置

当客户端频繁向目的服务器发送请求时,可能被服务器辨认为恶意程序进而限定客户端行为,通过配置动态请求解决此问题:

一是进行动态IP的配置:维护一个可长期运行的IP池以供使用,并在每次发起请求时保证IP的随机性,为应对请求失败的情形,根据应用场景,配置接收到何种响应时尝试再次请求,并配置尝试请求次数达到何值时视为爬虫失败;同时,保证动态IP与Scrapy中下载中间件的关联性;

二是进行动态请求头的配置:按真实请求头规范编写一个请求头集合,用来模拟各类浏览器发起请求的过程,禁用Scrapy下载中间件中的请求头设置。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010317200.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top