基于APP客户端的爬虫及爬取方法与流程

文档序号:17774278发布日期:2019-05-28 19:51阅读:4113来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
基于APP客户端的爬虫及爬取方法与流程

本发明涉及网络爬虫领域,具体涉及基于app客户端的爬虫及爬取方法。



背景技术:

现有的爬虫技术获取目标服务器数据的方式为通过http库向第三方服务器发起请求,即发送一个request,请求可以包含额外的headers等信息,等待第三方服务器响应,等待获取第三方服务器响应内容:如果第三方服务器能正常响应,会得到一个response,response的内容便是所要获取的页面内容,类型可能有html,json字符串,二进制数据(如图片视频)等类型,这种方法的缺点是由爬虫服务器直接请求第三方服务器,容易造成爬虫服务器的负载过大,一旦第三方服务器有反爬虫机制如:检查ip访问情况,一个ip如果短时间内超过了指定的次数就会被限制访问或严重情况下封杀网络ip造成无法访问。因此对于服务器的维护和更新产生了极大的困难。而且这种方法有一显著缺点就是无法应用在现有流行的个人电子产品上,如手机、个人平板电脑等移动终端,只能在服务器上使用,应用范围单一已经不是很符合现有多电子设备的社会。



技术实现要素:

鉴于背景技术的不足,本发明是基于app客户端的爬虫及爬取方法,所要解决的技术问题是传统的爬虫服务器直接访问目标服务器方式中,爬虫服务器定制化程度高,可移植性差、维护和更新很困难,且频繁爬取数据并上传到爬虫服务器容易被具有反爬虫的目标服务器永久封锁ip,也对爬虫服务器造成很大压力,且基于浏览器的爬虫脚本对于用户来说并不友好,每次执行新的爬虫任务时需要重新下载爬虫脚本,会被杀毒软件误杀。

为实现上述技术目的,本发明提供了如下技术方案:

基于app客户端的爬虫,包括与爬虫服器匹配的爬虫sdk,爬虫sdk集成在app客户端中,app客户端通过与爬虫服务器端约定的特定参数来控制爬虫程序的启停,app客户端作为子节点控制启动爬虫程序采集目标服务器数据并实时返还给爬虫服务器,然后由爬虫服务器解析采集的目标服务器数据。

爬虫服务器包括文件服务器、应用服务器和解析服务器,爬虫服务器将爬取的数据以文件方式存储在所述文件服务器中,由解析服务器定时解析从目标服务器采集来的数据。

基于app客户端的爬虫的爬取方法,其特征在于包括如下步骤:

s1:app客户端配置初始化完毕后向爬虫服务器发起启动互联网爬虫请求;

s2:所述爬虫服务器收到启动请求,并向app客户端发送爬取规则及目标服务器的地址并判断是否生成相应的请求队列;

s3:判断每个请求的页面是否需要鉴权,如需要先通过用户协助访问页面,爬虫服务器根据请求队列按顺序拼接,封装目标服务器的request请求返回给app客户端;

s4:app客户端解析request特定参数并判断是否需要继续爬取数据,如需要就向目标服务器发起请求获取response;不需要则停止互联网爬虫回到步骤s1重新配置爬取任务;

s5:app客户端请求爬虫服务器,并成功响应后并携带目标服务器返回的response,app客户端实时向文件服务器上传response,应用服务器根据解析规则定时解析文件服务器中的response文件,并将解析后的数据保存到应用服务器的数据库中;

s6:爬虫服务器解析response并修改队列状态,继续执行第s2步。

步骤s4中所述response的状态码为403时,或是爬虫服务器校验response不符合校验规则,则放弃此次爬虫请求。

步骤s5中的所述数据库包含关系型数据库和面向文档的非关系型数据库,与用户状态相关且以后会发生变化的字段保存在关系型数据库中,不与状态相关多用于查询的数据通过建立索引存于非关系数据库中。

本发明与现有技术相比所具有的有益效果是:将爬虫从传统的服务端转移到移动端上,爬虫程序嵌套在app客户端里,本发明采用app内嵌入爬虫sdk交互代码方式,安装了该app的移动端可作为一个子节点控制爬虫的启动,服务器端持续监控协调各个爬虫的工作,及时接收爬虫回传的有用信息,通过建立和维护数据库对接收到的回传信息进行存储。本app客户端爬虫明显减轻服务器端的运算负荷,且所有安装app的移动端都有不同的ip地址,爬虫服务器利用移动端的ip地址抓取目标服务器的数据,在目标服务器有反爬虫机制时,这种由app客户端和目标服务器交互的方式更像是人类在操作(网络请求行为本身就是人类操作电子设备发起请求获取资源展示给人类观看)。因为这种请求方式本身就是由用户的电子设备发起的网络请求在获取资源有效地解决了ip被封的问题;采用客户机/和服务器(c/s)模式,更具有扩展性和可移植性,相对于采用浏览器端和服务端(b/s)模式而言,基于app客户端的爬虫无需多次下载任务脚本,有效避免被杀毒软件误杀的风险。

附图说明

本发明有如下附图:

图1为本发明的爬虫工作流程图;

图2为本发明的爬虫系统结构图。

具体实施方式

本实施例中的基于app客户端的爬虫,包括与爬虫服务器匹配的爬虫sdk,爬虫sdk集成在app客户端中,该爬虫sdk可移植能力强,不依赖浏览器。app客户端通过与爬虫服务器端约定的特定参数来控制爬虫程序的启停,app客户端作为子节点控制启动爬虫程序采集目标服务器数据实时返还给爬虫服务器,爬虫服务器包括文件服务器、应用服务器和解析服务器,爬虫服务器将爬取的数据以文件方式存储在所述文件服务器中,由解析服务器定时解析从目标服务器采集来的数据,且访问频率不超过目标服务器限制的访问频率上限,一般不超过每秒10次,这种app客户端可以应用在更多的移动终端上,每个移动终端都提供一个不同的ip地址,这样原理上目标服务器无法完全封杀移动终端的ip地址。

图1是本实施例的基于app客户端配置初始化完毕后向爬虫服务器发起启动互联网爬虫请求。爬虫服务器收到启动请求,会向app客户端发送爬取规则及目标服务器的地址并判断是否生成相应的请求队列。判断每个请求的页面是否需要鉴权,如需要先通过用户协助访问页面,爬虫服务器根据请求队列,封装目标服务器的request请求返回给app客户端,request请求参数包含的必要参数:url、method、headers、form表单等。app客户端解析request特定参数(根据前端后端约定好的特定参数判断是否需要继续爬取数据),如需要就向目标服务器发起请求获取response。通过模仿人的行为访问目标服务器来防止反爬虫机制的ip限制,如果不需要继续爬取则停止请求目标服务器然后回到初始状态等待爬虫服务器重新配置爬取任务。app客户端请求爬虫服务器,成功响应后并携带目标服务器返回的response实时上传到文件服务器,爬虫服务器校验response并修改队列状态,继续判断是否生成相应的请求队列。同时解析服务器根据解析规则(爬取数据不同需要配置不同的解析规则,将解析规则存在mysql数据中,项目启动后缓存在redis数据库中,redis数据库为非关系型数据库,效率很高,为爬虫系统做扩展准备。)定时解析文件服务器中封装的response文件。并将解析后的符合解析规则与用户相关的字段数据存贮在mysql数据库中,解析服务器解析response并修改解析状态。

图2是本实施例的基于app客户端的爬虫的系统结构图,集成爬虫sdk的app安装在不同的移动端上就构成了本爬虫系统的一部分。与传统的分布式爬虫系统服务器端相比,本发明的服务器子系统不必为爬虫提供其运行所需的运算(cpu)资源和ip资源,本发明的爬虫占用的这两种资源都取自移动客户端,且与基于浏览器的爬虫系统相比,基于app客户端的爬虫无需根据不同的爬取任务多次下载爬虫任务脚本,节省流量,有效避免被杀毒软件误杀的风险;实时将爬虫客户端从目标服务器上得到的response数据上传到文件服务器中,定时由应用服务器解析后并持久保存到数据库中这样可避免基于浏览器的爬虫脚本因禁止浏览器缓存而无法完整地保存目标服务器返回的数据的问题。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 爬虫实现的方法、系统、设备及...
  • 基于LSTM的微博谣言检测及...
  • 大规模网络数据的感知与获取方...
  • 用户画像构建方法、系统、计算...
  • 一种信息爬取方法、装置、设备...
  • 一种针对内容的智能搜索推荐方...
  • 一种基于元数据链路的数据追踪...
  • 标签的建立方法、装置、计算机...
  • 一种虚拟显示用于汉语学习培训...
  • 一种个性化菜谱生成方法及装置...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳SEO优化公司坂田阿里店铺运营报价韶关关键词按天计费报价十堰关键词排名哪家好张北网站搭建报价自贡模板推广推荐昌吉百度爱采购价格阜新seo推荐漯河网站seo优化报价观澜优秀网站设计兴安盟网络营销孝感网站推广方案推荐双龙网站改版公司醴陵网站推广工具哪家好楚雄网站制作设计报价忻州百姓网标王推广推荐东营百度seo价格保定网站推广系统价格平湖品牌网站设计价格舟山网络营销哪家好武威SEO按效果付费报价大连seo网站推广推荐菏泽seo优化哪家好爱联企业网站建设价格丽江网站搜索优化多少钱滨州网站建设公司垦利关键词排名价格荆门网站优化哪家好鄂州网站推广工具多少钱海西设计公司网站哪家好南山seo网站优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化