[发明专利]一种解决JS加密问题的爬虫方法在审
申请号: | 202010820940.0 | 申请日: | 2020-08-14 |
公开(公告)号: | CN111949851A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 孙健;赵书武;胡健龙;王彩洪 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/955;G06F21/60 |
代理公司: | 北京正华智诚专利代理事务所(普通合伙) 11870 | 代理人: | 李林合 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 js 加密 问题 爬虫 方法 | ||
本发明公开了一种解决JS加密问题的爬虫方法,包括以下步骤:S1:创建scrapy项目,并设定允许爬取的域名范围、请求头信息和初始URL;S2:通过调用selenium框架的webdriver工具获取cookie;S3:根据初始URL和cookie,调用内部start_requests()爬取列表页;S4:解析列表页并管理列表页的URL,完成页面爬取。本发明使用的是聚焦网络爬虫。本发明中先将要爬取的内容通过搜索引擎筛选出来,然后爬取筛选出来的页面内容,可爬取JS加密的页面,同时可获取网页重定向之后的链接。
技术领域
本发明属于网络爬虫技术领域,具体涉及一种解决JS加密问题的爬虫方法。
背景技术
在大数据和互联网+时代,网络上的信息量飞速增长,传统的通过搜索引擎获取信息的方式已经有了局限性,越来越满足不了用户对信息获取的高效、快速和准确的要求。在自动化和智能化得到快速发展的今天,利用自动化方法获取信息将是一个重要的方向。在自动化获取信息的众多方法里,网络爬虫是一大利器,它基于搜索引擎,能够自动地解析出网页结构并快速定位到用户的目标数据进行爬取并储存,高效又准确。
网络爬虫是一个在网络上抓取页面、分析页面和抽取链接的程序。它自动遍历Web的超文本结构,从初始的超链接开始,递归地检索可从该文档访问的所有文档。网络爬虫的工作原理较为简单,一般的Web爬虫的内部维护了一个容器用于存储URL链接,从根页面开始,根页面的URL首先被爬虫添加到容器中,进入链接读取根页面的内容,解析出根页面中后续需要访问的链接将其加入到容器中,循环执行上述过程直至URL容器为空则停止运行。
除了通用爬虫,有学者还提出了一种聚焦网络爬虫,即在一般的Web爬虫的基础上,用户需要通过设置主题来过滤解析后的页面内容,舍弃无用信息并将目标信息存入数据库,以及将目标URL加入到URL容器中。但是现有的网虫技术无法爬取JS加密的页面,无法获取网页重定向之后的链接。
发明内容
本发明的目的是为了解决基于scrapy框架的爬虫无法爬取JS加密和重定向页面的问题,提出了一种解决JS加密问题的爬虫方法。
本发明的技术方案是:一种解决JS加密问题的爬虫方法包括以下步骤:
S1:创建scrapy项目,并设定允许爬取的域名范围、请求头信息和初始URL;
S2:通过调用selenium框架的webdriver工具获取cookie;
S3:根据初始URL和cookie,调用内部start_requests()爬取列表页;
S4:解析列表页并管理列表页的URL,完成页面爬取。
本发明的有益效果是:本发明使用的是聚焦网络爬虫。本发明中先将要爬取的内容通过搜索引擎筛选出来,然后爬取筛选出来的页面内容,可爬取JS加密的页面,同时可获取网页重定向之后的链接。
进一步地,步骤S1中,scrapy项目包括引擎、调度器、下载器、爬虫、项目管道、下载器中间件和爬虫中间件;
引擎用于控制其他组件的动作流程;
调度器用于暂存引擎请求,当引擎需要URL时,调度器返回给引擎;
下载器用于获取到页面数据后将其递交给引擎;
爬虫内定义爬取的逻辑和网页的定义规则,用于解析响应并生成提取结果和新的请求;
项目管道用于处理Item;
下载器中间件用于处理下载器传递给引擎的Response;
爬虫中间件用于处理爬虫的输入和输出;
域名范围用于限制爬虫的可爬取范围;如果获取的链接不在这个域名下就自动过滤不在爬取;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010820940.0/2.html,转载请声明来源钻瓜专利网。