网络爬虫针对“反爬”网站的爬取策略研究
2020-08-13文成香李璋林
文成香 李璋林
摘要:网络技术的快速发展,网络爬虫技术也得到了广泛普及和应用。更多的用户开展运用网络爬虫技术去获取自身所需的信息,而过多的网络爬虫会对网站的运行造成一定的负担和压力。因此,信息时代背景下,为了更好的提升网站访问体验感和速度,降低网络爬虫技术给网络带来的影响,从而提出有效的反爬虫技术和手段,满足用户对各种数据和信息的需求,给人们提供一个良好的网络环境。本文根据网络爬虫的内涵,阐述了网站中常见的反爬虫技术,并且提出了网络爬虫应对“反爬”网站的爬取对策。这样能够从根源上去杜绝恶意爬虫去网址访问,这样对网址的稳定运行以及数据保护有着重要的作用和意义。
关键词:网络爬虫 “反爬”网站 爬取策略
引言
信息技术的革新,现如今搜索引擎成为了人类获取信息和数据的主要途径。在搜索引擎过程中,释放出来的网络爬虫会占用大量的互联网宽带,并且造成网站访问速度变慢,甚至进入网站“瘫痪”的状态,直接降低用户对网站的访问体验感。针对上述问题和现状,很多网站都开始采取一些有效手段去拦截网络爬虫的爬取,由此诞生出反爬虫技术,进而为网站的正常运行奠定基础保障。
一、网络爬虫的内涵
1.网络爬虫简析
所谓的网络爬虫又称之为网页蜘蛛、网络机器人。它是一个自动获取网页的程序,作为搜索引擎的重要组成部分,可以随时在特定网站上下载用户所需的信息,其中涉及到了招聘、二手买卖信息等。网络爬虫之所以叫网页蜘蛛,是因为它是由很多的超链接构成,所形成的完整网,每进入到一个网页就可以获取新的超链接,再进行下一步的爬行搜索,获取新的线索。信息时代的普及和发展,虽然满足了人们对数据的需求,但是人们更加渴求于网络爬虫的程序,比如企业信息爬虫、论文网站爬虫等。网络爬虫给我们带来了很多便利,在获取所需数据时,非搜索引擎也给网络造成了不利的影响,直接降低了网络运行速度。首先,网络爬虫程序访问网站的速度比起一般的网站访问速度要高的多,我们开始设想如果大部分的用户都去使用一个网站的数据,并且同时运用爬虫程序的获取目標网站,可想而知势必会增加网站的服务器的符合,也会导致目标网络拥堵,甚至产生网络直接崩溃的现象,影响用户对网站的体验。此外,大部分网络里面的收益都来自于数据,如果网站所有的数据被他人轻易提取且实用,那么会直接降低网站的收益。因此采取适当的网站反爬手段和措施尤为重要。
2.网络爬虫搜索对策
网络爬虫在正常运行过程中,其中URL队列抓取是其中关键的一部分。其中抓取的先后顺序十分重要,其中涉及到先抓取和后抓取哪个页面,我们将排列URL顺序的方法,称之为抓取对策。其中最为常见的是广度优先搜索对策,在抓取中,以节点开始,完成现目前层次搜索后再直接跳转到下一个层次搜索。该种策略的实现方式十分简单。其次,关于深度搜索策略,这种策略的主要思想是从起始页开始,每条链接紧跟着一个链接,处理完成后线路后直接跳转到下一个起始页,继续跟踪链接。此外,反向链接策略指的是一个网页被其他网页链接指定的数量,反向链接数的网页内容很容易受到其他推荐内容的影响。因此,搜索引擎抓取系统会根据这个指标去评价网页的重要度,最终去确定网页抓取的先后顺序。
二、网站中常见的反爬虫技术
首先,我国网站中最常见的则是关于涉及到验证码的反爬虫技术,现有80%以上的网络都会设置验证码,其设置的目的是为了区分人类和计算机操作的行为,最早接触的是图片、数字以及滑动验证码。其次,随着网络技术的发展,提出了一种限制用户行为的反爬虫技术,现如今部分网站都会根据用户的操作行为去判断爬虫程序,如果在短暂的时间内对一个网址进行多次的访问,又是同一个用户反复的操作和访问,亦或是访问的页面固定,简单而言,就是直接体现出不像用户访问的状态。最后,通过分析日志的方式去判断网页爬虫不是一个实时的反爬虫手段,可以通过设置网站的流量浏览记录去反映出用户的真实访问状态,对于短期内出现大量方位行为可以流量系统记录的参考,在结合人工判断的前提下,将恶意的爬虫访问拉入黑名单。此外,还可以通过设置网络路由器、防火墙等方式,去约束网站被访问的网段。但是通过网络设备去识别IP,这样可能会提升误伤的概率。
三、网络爬虫应对“反爬”网站的爬取对策
1.验证码辨别技术
由于验证码技术具有随机性较强、简单的特点,能够在一定程度上阻碍网络上恶意行为的访问,在互联网领域得到了广泛的应用。其次,图片验证码是通过爬虫获取到所需要的样本图片,将图片里面的文字和字母分开,通过神经网络算法去识别验证码。关于滑动验证码,一般情况下,人类在操作滑动这个步骤时,会有一个延时的动作,然后才进行滑块拖动,滑块移动时快慢不一致,最后再进行微微调整。拖动的路径基本上符合BETA分布这样的偏态分布,同时,人的行为也比较符合随机性和规律性特点,大体上符合BETA分布的规律,但是固定时间和间隔移动的长度是随机设置的。
2.降低访问请求频率
在对网络进行访问的过程中,网络爬虫会对目标站点发送大量的请求,这样的爬虫机制不仅会增加中小型网站的荷载力,还会浪费大量的网站资源,甚至导致整个网站完全崩溃,因此很多网站都提出了反爬虫的机制和策略。比如通过判断爬虫的USER-AGENT信息去直接访问请求,或者通过网站流量统计和日志分析去识别爬虫,这样对网站进行全方位的实时监控,提升反爬虫策略的效果和作用。为了不被站点判定为爬虫而被拒绝访问网站,我们可以直接降低网站访问请求频率,这样不会遭受到网站的封杀和拒绝访问。最主要的方法是在访问URL的程序当中,将访问请求设置一段休眠时间段。具体的休眠时间是根据实际需求而定的,以毫秒为准,这种反爬策略的优势是有效的降低了目标网站的时间负载,但是缺陷是爬虫反爬的效率比较低。
3.设置代理服务器
设置代理服务器,以提升爬虫效率为主,实际上就是对网络的反爬虫机制进行阻止,降低访问请求频率较高的网络地址。为了改善这一问题,我们可以使用代理服务器,去改变IP和服务器端口,直接限制访问频率较高的主机对站点的访问。只要具备足够的IP条件符合爬取的条件,这样就能保证爬虫不被站点所限制和封杀。但是设置代理服务器,不仅会消耗大量的时间和资源,还会给站点带来较大的负载,加大延迟,提升了失败率。
四、结束语
综上所述,为了有效的避免爬虫被限制,最为有效的办法则是伪装成正常用户,只要坚持这个原则,总能解决问题。如果能够深入的了解到反爬虫技术的原理和策略,就可以针对实际问题,提出反爬虫爬取策略和手段,进而在保证网站稳定安全运行的同时,也能提升网络爬虫的效率,为人们提供更加优质的网络服务。
参考文献
[1]伏康,杜振鹏.网站反爬虫策略的分析与研究[J].电脑知识与技术,2019,15(28):28-30.
[2]胡俊潇,陈国伟.网络爬虫反爬策略研究[J].科技创新与应用,2019(15):137-138+140.
[3]刘清.网络爬虫针对“反爬”网站的爬取策略分析[J].信息与电脑(理论版),2019(03):23-24.
[4]邹科文,李达,邓婷敏,李嘉振,陈义明.网络爬虫针对“反爬”网站的爬取策略研究[J].电脑知识与技术,2016,12(07):61-63.