一种对访问次数有限制的网站防封禁方法及系统与流程

文档序号:30502485发布日期:2022-06-24 23:15阅读:807来源:国知局
一种对访问次数有限制的网站防封禁方法及系统与流程

1.本发明涉及计算机网络技术领域,尤其涉及一种对访问次数有限制的网站防封禁方法及系统。


背景技术:

2.在爬虫采集定向网站的定向数据时,有时候我们会遇到网站对登录用户访问特定数据有日次数限制,达到一定阈值,就会限制当前登录用户的访问,甚至会封禁用户。传统通过人工打码,获取登录cookie的方式,效率低下,无法满足大数据采集的要求。


技术实现要素:

3.本发明的目的在于提供一种对访问次数有限制的网站防封禁方法及系统,从而解决现有技术中存在的前述问题。
4.为了实现上述目的,本发明采用的技术方案如下:
5.一种对访问次数有限制的网站防封禁方法,包括如下步骤,
6.s1、通过爬虫工具,自动化控制目标浏览器,使用selenium访问网站登录页面;
7.s2、当网站登录页面加载完毕,循环获取准备好的用户名和密码填充到登录表单中;
8.s3、登录网站,并获取登录结果cookie;
9.s4、解析获取的登录结果的返回体,并根据返回体中set cookie的内容,判断set cookie中当前cookie的有效性,根据判断结果剔除已过期cookie,之后将有效cookie保存到内存或持久化到硬盘,动态添加有效cookie到cookie池;
10.s5、根据有效cookie,直接采集目标网页数据。
11.优选的,步骤s4中当前登录结果cookie有效性的判断方式为,
12.判断当前cookie的请求使用次数是否达到预设访问次数的90%,若是,则表示当前登录结果的cookie有效;若否,则表示当前cookie已过期。
13.本发明的目的还在于提供一种对访问次数有限制的网站防封禁系统,所述系统用于实现所述的对访问次数有限制的网站防封禁方法;所述系统包括,
14.爬虫工具;用于自动化控制目标浏览器,使用selenium访问网站登录页面;
15.信息填充模块;用于在网站登录页面加载完毕后,循环获取准备好的用户名和密码填充到登录表单中;
16.cookie获取模块;用于获取登录结果的cookie;
17.解析模块;用于解析登录结果的返回体;
18.cookie控制模块;用于接收返回体中set cookie的内容,并根据返回体中set cookie的内容,判断set cookie中当前cookie的有效性,根据判断结果剔除已过期cookie,之后将有效cookie保存到内存或持久化到硬盘,动态添加有效cookie到cookie池;
19.采集模块;用于调用cookie控制模块,获取有效cookie,使用有效cookie直接采集
目标网页数据。
20.本发明的有益效果是:1、处理网页爬虫需要登录验证,并返回登录cookie时,使用selenium自动化登录,并保存cookie到cookie池,实现快速采集数据,并不会被网站访问次数限制访问的效果。2、实现了快速登录的效果,并通过对cookie的管理,有效控制cookie使用的阈值,达到防止被网站限制访问的目的。
附图说明
21.图1是本发明实施例中防封禁方法的流程示意图。
具体实施方式
22.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
23.实施例一
24.如图1所示,本实施例中,提供了一种对访问次数有限制的网站防封禁方法,包括如下步骤,
25.s1、通过爬虫工具,自动化控制目标浏览器,使用selenium访问网站登录页面;
26.s2、当网站登录页面加载完毕,循环获取准备好的用户名和密码填充到登录表单中;
27.s3、登录网站,并获取登录结果cookie;
28.s4、解析获取的登录结果的返回体,并根据返回体中set cookie的内容,判断set cookie中当前cookie的有效性,根据判断结果剔除已过期cookie,之后将有效cookie保存到内存或持久化到硬盘,动态添加有效cookie到cookie池;
29.s5、根据有效cookie,直接采集目标网页数据。
30.本实施例中,步骤s4中当前登录结果cookie有效性的判断方式为,
31.判断当前cookie的请求使用次数是否达到预设访问次数的90%,若是,则表示当前登录结果的cookie有效;若否,则表示当前cookie已过期。
32.本实施例中,提供了一种对访问次数有限制的网站防封禁系统,所述系统用于实现所述的对访问次数有限制的网站防封禁方法;所述系统包括,
33.爬虫工具;用于自动化控制目标浏览器,使用selenium访问网站登录页面;
34.信息填充模块;用于在网站登录页面加载完毕后,循环获取准备好的用户名和密码填充到登录表单中;
35.cookie获取模块;用于获取登录结果的cookie;
36.解析模块;用于解析登录结果的返回体;
37.cookie控制模块;用于接收返回体中set cookie的内容,并根据返回体中set cookie的内容,判断set cookie中当前cookie的有效性,根据判断结果剔除已过期cookie,之后将有效cookie保存到内存或持久化到硬盘,动态添加有效cookie到cookie池;
38.采集模块;用于调用cookie控制模块,获取有效cookie,使用有效cookie直接采集目标网页数据。
39.本实施例中,步骤s2中如果出现需要填写验证码的情况,则交于扫码平台进行识别或使用自建ocr程序进行处理。
40.使用cookie添加到请求头部数据,可以实现采集数据时跳过登录验证的效果。
41.实施例二
42.本实施例中,目标网站对访问数据进行登录验证限制,并对目标数据限制访问次数为300次/天,超过访问会返回错误页面。针对这种情况,为了避免被网站访问次数的限制,采用本发明的防封禁系统实施防封禁方法的具体过程为:
43.1、编写java-selenium驱动程序,并利用爬虫工具调用selenium,使用webdriver访问网站登录页面;
44.2、当页面加载完毕,启动信息填充模块循环获取数据库中的用户名和密码填充到登录表单中;
45.3、登录网站成功后,cookie获取模块获取登录结果的cookie;
46.4、解析登录结果的返回体response body,并将返回体中set cookie中的内容提交给cookie控制模块;
47.5、cookie控制模块判断set cookie中的当前cookie的有效性,并根据判断结果剔除已过期的cookie,保存有效cookie到mogodb数据库,并动态添加有效cookie到cookie池,当当前cookie请求使用次数达到300最大限度的90%时,则删除此cookie;
48.6、采集模块调用cookie控制模块,获取有效cookie,直接采集数据,避免再次调用selenium程序;
49.本实施例中,若当前cookie过期,则cookie控制模块删除该当前cookie,并在set cookie中选取新的cookie进行有效性的判断。
50.通过采用本发明公开的上述技术方案,得到了如下有益的效果:
51.本发明提供了一种对访问次数有限制的网站防封禁方法及系统,处理网页爬虫需要登录验证,并返回登录cookie时,使用selenium自动化登录,并保存cookie到cookie池,实现快速采集数据,并不会被网站访问次数限制访问的效果。实现了快速登录的效果,并通过对cookie的管理,有效控制cookie使用的阈值,达到防止被网站限制访问的目的。
52.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1