您现在的位置是:人工智能 >>正文
浅谈网络爬虫技术与反爬虫防护
人工智能33929人已围观
简介什么是网络爬虫网络爬虫本质上是一段计算机程序或脚本,其按照一定的逻辑和算法规则自动地抓取互联网信息。网络爬虫的分类及技术原理网络爬虫按照实现的技术和结构可以分为以下几种类型:通用网络爬虫、聚焦网络爬 ...
什么是浅谈网络爬虫
网络爬虫本质上是一段计算机程序或脚本,其按照一定的网络逻辑和算法规则自动地抓取互联网信息 。
网络爬虫的爬虫分类及技术原理
网络爬虫按照实现的技术和结构可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫 、技术增量式网络爬虫 、反爬深层网络爬虫等 。虫防在实际的浅谈网络爬虫中 ,通常是网络这几类爬虫的组合体 。
1、服务器租用爬虫通用网络爬虫(Scalable Web Crawler)通用网络爬虫又叫作全网爬虫 ,技术爬取的反爬目标资源在整个互联网上 ,由于信息量巨大,虫防常用于大型的浅谈搜索引擎中。它主要由初始化URL集合、网络URL队列、爬虫页面爬行模块、页面分析模块、数据库等构成。具体步骤是首先选取部分种子URL,将这些URL放入待抓取URL队列,进行循环提取,一旦满足停止条件则不再进行网络爬虫搜索 。香港云服务器通用网络爬虫由于抓取的信息巨大 ,常使用分布式网络爬虫框架进行设计实现 。

图1-1 通用网络爬虫原理及过程
2 、聚焦网络爬虫(Focused Crawler)聚焦网络爬虫,也叫主题网络爬虫 ,是指按照预先定义好的主题 ,有选择地进行相关网页爬取的一种爬虫 。和通用网络爬虫的区别在于,聚焦网络爬虫在实施页面抓取时会对内容进行处理筛选,将爬取的目标网页定位在与需求相关的免费模板页面中 。目前爬虫应用中绝大多数是聚焦爬虫。

图1-2 聚焦网络爬虫示例PYTHON代码
3、增量式网络爬虫(Incremental Web Crawler)增量式网络爬虫在爬取网页的时候只会在需要的时候爬取新产生或发生更新的页面 ,对于没有发生变化的页面则不会爬取 。这样能有效地减少数据下载量并及时更新已爬取过的网页 ,减少时间和存储空间上的浪费,但该算法的复杂度和实现难度更高 。源码下载应用场景包括某电商网站会实时更新一批最近商品 ,书籍网站根据作者创作的进度实时更新最新的章节数据等 ,遇到类似的场景时 ,便可以采用增量式网络爬虫。
为了使爬虫获取到的数据以增量的形式稳定增长,增量爬虫的核心就是去重。Redis中的Set集合具有天然的去重属性 ,模板下载所以往往采用的策略是将爬取过程中产生的URL进行存储 ,存入到Redis中的Set中,当下次再爬取的时候 ,对在存储的URL中的Set中进行判断 ,如果URL存在则不发起请求 ,否则就发起请求 。
4、深层网络爬虫Web页面按存在方式可以分为表层网页(Surface Web)和深层网页(Deep Web) 。表层网页指的源码库直接使用静态的超链接就可以直接访问的静态页面。深层网页指的是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后面的,需要用户提交一些关键词才能获得的Web页面。
反爬虫
一方面 ,爬虫技术容易造成网站带宽资源的侵占,有些恶意爬虫可能会对服务器发起Dos攻击严重导致服务器瘫痪 ,另一方面从法律上讲,不正当的爬虫行为还会造成用户隐私的泄露 ,有的甚至导致公司的重要资源被批量爬取 ,丧失市 场竞争力 。在这种背景下,发展反爬虫技术尤为重要 。
反爬虫技术是使用技术手段 ,阻止别人批量获取自己网站信息的一种方式 。技术关键也在于批量自动化处理。反爬虫的目标是将正常的用户流量和爬虫流量进行区分,并阻止爬虫访问内部真实数据。在实际反爬虫的过程中,错误的将普通用户识别为爬虫被称为误伤率。通常来说,拦截率越高的反爬虫策略,误伤的可能性就越高,因此需要做权衡 。
反爬虫技术手段
针对恶意爬虫,可通过软件和硬件两方面进行反爬虫技术防护,采取如下措施来识别和阻断它。
1 、软件方面1.1 限制User-Agent字段
软件编码中User-Agent字段可以携带一串包括浏览器、操作系统、CPU等用户设备信息的字符串,如果请求来自非浏览器,就能识别其为爬虫,阻止爬虫抓取网站信息。其缺点是攻击者很容易将爬虫请求的User-Agent字段伪装成特定地址轻而易举绕过这一规则。
1.2 数据加密
前端对一些关键请求参数 ,如一些用户信息类,地址类进行加密 ,用加密后的数据请求服务器,这样网络爬虫由于不知道密钥 ,就无法进行模拟请求服务器 。
1.3 验证码
使用验证码可以防止应用或者网站被恶意注册 、攻击 ,对于网站、APP而言,大量的无效注册、重复注册甚至是恶意攻击很令人头痛 。数字 、字母加干扰线、噪点,字母重叠摆放,文字点选,滑动拼图 ,图片选择 ,点击验证,鼠标轨迹等等,无论何种形式的验证码,其根本目的都是为了实现人机识别 ,通过交互来验证发起请求的是人还是机器。
1.4 使用蜜罐系统
蜜罐最早是来自于网络攻防中,主要指防守方故意设置一个或多个服务器漏洞,让攻击方轻易地入侵进来,而这些服务器一般安装了监控软件用来监控入侵者的一举一动。
蜜罐技术作为主动欺骗防御技术的核心,通过暗设陷阱 ,主动诱导攻击 ,动态感知攻击行为并定位攻击源,从而可以对攻击行为进行捕获和分析,推测攻击意图和动机来进行防御 ,保障网络的安全运行。目前市面上一些主流云服务系统均搭建了蜜罐系统进行反爬虫防御 。
2 、硬件方面2.1 防火墙/服务器限制IP
爬虫自动化程序一般对服务器内容的访问量大,不同于正常用户,通过在服务器或者防火墙将访问量大的IP地址加入黑名单,禁止其访问。不过限制IP缺点也很明显,攻击者可以通过IP代理的方法实现换IP的目的,来从而避免其IP加入黑名单。
2.2 部署Web应用防火墙WAF
WAF是检测机器爬虫流量最常用的硬件产品,常用三种方式:Robot检测(识别User-Agent) 、开启JS脚本反爬虫网站反爬虫(检查浏览器合法性)和CC攻击防护(限制IP/Cookie/Referer访问者对特定路径访问频率),来解决业务网站遭受的爬虫问题 。
另外 ,目前一些云WAF厂商在此基础上 ,还提供了智能的反爬虫模块 ,有的产品基于AI分析引擎,通过流量画像匹配用户爬虫,从而建立模型和行为标签 ,提供爬虫和IP情报,使用户快速识别爬虫行为,从而进行相关的干预。
风险和挑战
由于篇幅有限,一些技术细节并未开展详细说明 。但随着大数据、人工智能时代的来临 ,爬虫与反爬虫注定不仅仅是一场无休止的战斗 ,而且还越来越具备智能交互 、模型分析 、决策判断等技能。这给实际运维带来新的挑战,我们将持续关注该领域发展 ,提升抵御网络爬虫风险的各种能力 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“商站动力”。http://www.noorid.com/html/963a999027.html
相关文章
重大供应链威胁!这个 Java 开源框架存在严重漏洞
人工智能美国网络安全和基础设施安全局CISA)和安全研究人员报告称,一个受广泛使用的开源Java框架中存在严重漏洞并被攻击者利用,他们正利用该漏洞向未打补丁的服务器部署后门。专家表示,这种情况可能会对未打补丁 ...
【人工智能】
阅读更多电脑操作指南(教您快速、简单地通过电脑修改WiFi密码)
人工智能在日常生活中,我们经常需要更改无线网络密码,以确保我们的网络安全。本文将详细介绍如何通过电脑来更改WiFi密码,为您提供一份简明扼要的操作指南。文章目录:1.确定网络连接2.打开浏览器并输入默认网关I ...
【人工智能】
阅读更多win10待机后屏幕黑屏就剩鼠标解决方法
人工智能在使用win10系统的时候,很多用户们都表示遇到了这样那样的BUG等,其中有个就是win10一待机就黑屏,而且只有鼠标,这是什么原因导致的呢,需要怎么解决呢,快来看看详细的解决方法吧~Win10待机唤 ...
【人工智能】
阅读更多
热门文章
最新文章
友情链接
- SKG抽油烟机质量评测(全面分析SKG抽油烟机的性能与可靠性)
- 以友唱(与好友合唱,畅享音乐的魅力)
- X270在双核CPU中的性能表现(探索X270在双核CPU中的优势和应用场景)
- 使用Mac分区U盘安装Win10系统教程(详解Mac电脑如何分区U盘并安装Windows10系统)
- 如何找回ID账号和密码?(有效方法帮助你找回丢失的账号和密码)
- 小辣椒JDPlus全方位解读,值得购买吗?(便宜好用的小辣椒JDPlus手机,性价比之王!)
- 神舟k710c评测(体验神舟k710c,畅享高性能办公娱乐利器)
- 央广银河(金融增值与财富管理的领先机构)
- IBM携手腾讯联合发布《无边界零售》白皮书:洞察行业新格局,赋能企业“无边界零售”转型
- 探讨1200兆路由器的性能和功能(高速、稳定、全面覆盖的无线网络体验) 网站建设企业服务器香港物理机源码库b2b信息平台云服务器亿华云