一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于scrapy和puppeteer的动态数据抓取方法与流程

2021-12-03 23:04:00 来源:中国专利 TAG:

技术特征:
1.一种基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的动态数据抓取方法包括以下步骤:步骤1):分析网络请求,分析待采集数据哪些是静态数据,哪些是动态数据;静态数据放入scrapy中采集;步骤2):分析动态网络请求,判断api接口是否能否稳定的返回数据;如是,将该动态数据放到scrapy中采集;如否,则将该动态数据放到puppeteer中采集;步骤3):安装scrapy

redis,使scrapy支持分布式采集;步骤4):设置爬虫的初始url,scrapy将用get方法来请求该url,请求成功以后自动调用默认的回调函数parse返回请求结果;当请求完成以后,scrapy将请求返回的结果response作为参数传递给回调函数;步骤5):提前定义scrapy.item对象,将需要的目标数据定义为item的属性;在回调函数中分析response内容;步骤6):在pipeline中处理item对象;步骤7):puppeteer监听redis队列,当队列中有数据时,取出保存的url和其他的一些关键信息,启动chromium,打开目标网站url;步骤8):等待页面加载完成,获取页面html,通过xpath提取目标数据;步骤9):将目标数据直接插入、或通过id更新到mongodb中持久化保存。2.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤1)具体为:分析网络请求:使用chrome的开发者工具查看目标网页的网络请求,分析待采集数据哪些是静态数据,哪些是动态数据;静态数据为:在doc类型的网络请求中返回的html里能获取到的数据;动态数据为没有在doc类型的网络请求中返回,而是需要额外调用ajax发送的请求返回的数据;静态数据放入scrapy中采集。3.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤2)具体为:分析动态网络请求:使用postman工具尝试手动多次发送从步骤1获取到的ajax请求,根据相同的要素,查看返回结果是否能得目标数据,查看是否每次都能得到相同的返回结果,从而判断api接口是否能否稳定的返回数据;如果每次都能得到想要的目标数据,表示接口能够稳定返回数据,则将这部分动态数据放到scrapy中采集,如果不能稳定返回,则将这部分动态数据放到puppeteer中采集。4.根据权利要求2所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤2)中:所述的相同的要素为url、请求头、cookies、参数。5.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤4)包括:初始的url请求使用重写scrapy的start_requests方法,从数据库、redis中读取所有的初始url,手动定义请求头、cookies、参数,并设置自定义的回调函数。6.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤5)包括:创建一个item对象,将具体目标数据赋值到对应的属性中,最后把封装成的item对象返回。7.根据权利要求6所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤5)包括:如果返回的是html类型的数据,使用xpath提取数据。8.根据权利要求6所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,
所述的步骤5)包括:如果返回json类型的数据,使用json_dumps提取数据。9.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤6)包括:将已经采集到的目标数据放入mongodb中持久化保存;没有采集到的数据,比如页面的url、数据id关键字段打包放入到redis队列中。10.根据权利要求1所述的基于scrapy和puppeteer的动态数据抓取方法,其特征在于,所述的步骤8)为:监听http请求的响应事件,当api接口一返回数据,触发响应事件,在该事件的回调函数里处理返回的内容;如果是html类型的数据,使用xpath提取数据;如果是json类型的数据,使用json_dump提取数据。

技术总结
本发明涉及一种基于scrapy和puppeteer的动态数据抓取方法,本发明所述的动态数据抓取方法包括以下步骤:步骤1):分析网络请求;步骤2):分析动态网络请求;步骤3):安装scrapy


技术研发人员:谭文婷
受保护的技术使用者:贵州电子商务云运营有限责任公司
技术研发日:2021.09.07
技术公布日:2021/12/2
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献