[发明专利]一种基于分布式爬虫技术的数据爬取实现方法在审
申请号: | 202011474920.9 | 申请日: | 2020-12-14 |
公开(公告)号: | CN112487268A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 陈绪龙;王军凯;卢文琳 | 申请(专利权)人: | 安徽经邦软件技术有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951 |
代理公司: | 合肥方舟知识产权代理事务所(普通合伙) 34158 | 代理人: | 刘跃 |
地址: | 230000 安徽省合肥市包河工业区花园*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 爬虫 技术 数据 实现 方法 | ||
1.一种基于分布式爬虫技术的数据爬取实现方法,其特征在于:包括以下步骤:
S1、指定URL,根据给定地址找到最终需要找到抓取数据的地址,并得到对应的指标代码;
S2、发起请求,根据S1获取到的代码,拼接网址并判断是否为所需的抓取数据,如果为数据页,则回调到详情页,否则继续循环寻找数据网址;
S3、获取数据,网址中拼接相应参数,定时抽取数据,在网址中加入日期参数,分地区的数据中加入分地区参数,从start-urls中扣出对应的数据类型,判断走哪个抓取流程;
S4、解析数据,使用json.loads,将字符串转换为json格式数据,以循环的方式获取单位和地区,并以字典形式保存,解决数据与单位,地区不在一起,无法正常的问题;
S5、持久化存储,用scrapy框架抓取,需要在items.py中定义好需要使用到的字段和对应的类,Pipelines.py中实现数据持久化存储,根据不同item类,存储不同的数据到对应的表中。
2.根据权利要求1所述的一种基于分布式爬虫技术的数据爬取实现方法,其特征在于:所述S1中,点击经邦网站中月度、季度和年度等选项,发现数据跟着变,在networkpreview中发现,根据行业也代码,一级级迭代,isParent=true说明页面加载的是指标代码,不是真正的数据,当isParent=false时,为叶子节点,为每个行业最终数据,以上地址为一开始的地址,从此地址中得到对应的指标代码,便于下一次数据抓取的网址拼接。
3.根据权利要求1所述的一种基于分布式爬虫技术的数据爬取实现方法,其特征在于:所述S3中,数据都是json格式,提取规则不完全一样,在一开始分别传入不同类型的数据网址,用正则扣出对应的抓取数据类型,走不同代码分支,同时事先将分地区的数据抓取下来,以字典的形式保存,并以参数的形式传入URL中,这样达到不同类型的数据抓取走不同的分支,相同部分不重复写。
4.根据权利要求3所述的一种基于分布式爬虫技术的数据爬取实现方法,其特征在于:所述S4中,在循环内,对每次获取到的数据,以元组的形式存放并追加到列表中,达到循环外批量yield数据,有翻页时,如果不屏蔽重复,则下一页不能正常抓取,需要修改参数dont_filter=True。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽经邦软件技术有限公司,未经安徽经邦软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011474920.9/1.html,转载请声明来源钻瓜专利网。