iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >常见的反爬虫和应对方法
  • 754
分享到

常见的反爬虫和应对方法

爬虫常见方法 2023-01-30 22:01:27 754人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

0x01 常见的反爬虫 这几天在爬一个网站,网站做了很多反爬虫工作,爬起来有些艰难,花了一些时间才绕过反爬虫。在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下。 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分

0x01 常见的反爬虫

这几天在爬一个网站,网站做了很多反爬虫工作,爬起来有些艰难,花了一些时间才绕过反爬虫。在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下。

从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。这里我们只讨论数据采集部分。

一般网站从三个方面反爬虫:用户请求的Headers,用户行为,网站目录和数据加载方式。前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,这样增大了爬取的难度。

0x02 通过Headers反爬虫

从用户请求的Headers反爬虫是最常见的反爬虫策略。很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过。

0x03 基于用户行为反爬虫

还有一部分网站是通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。

大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。可以专门写一个爬虫,爬取网上公开的代理ip,检测后全部保存起来。这样的代理ip爬虫经常会用到,最好自己准备一个。有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib2中很容易做到,这样就能很容易的绕过第一种反爬虫。

对于第二种情况,可以在每次请求后随机间隔几秒再进行下一次请求。有些有逻辑漏洞的网站,可以通过请求几次,退出登录,重新登录,继续请求来绕过同一账号短时间内不能多次进行相同请求的限制。

0x04 动态页面的反爬虫

上述的几种情况大多都是出现在静态页面,还有一部分网站,我们需要爬取的数据是通过ajax请求得到,或者通过javascript生成的。首先用Firebug或者HttpFox对网络请求进行分析。如果能够找到ajax请求,也能分析出具体的参数和响应的具体含义,我们就能采用上面的方法,直接利用requests或者urllib2模拟ajax请求,对响应的JSON进行分析得到需要的数据。


能够直接模拟ajax请求获取数据固然是极好的,但是有些网站把ajax请求的所有参数全部加密了。我们根本没办法构造自己所需要的数据的请求。我这几天爬的那个网站就是这样,除了加密ajax参数,它还把一些基本的功能都封装了,全部都是在调用自己的接口,而接口参数都是加密的。遇到这样的网站,我们就不能用上面的方法了,我用的是selenium+phantomjs框架,调用浏览器内核,并利用phantomJS执行js来模拟人为操作以及触发页面中的js脚本。从填写表单到点击按钮再到滚动页面,全部都可以模拟,不考虑具体的请求和响应过程,只是完完整整的把人浏览页面获取数据的过程模拟一遍。

用这套框架几乎能绕过大多数的反爬虫,因为它不是在伪装成浏览器来获取数据(上述的通过添加 Headers一定程度上就是为了伪装成浏览器),它本身就是浏览器,phantomJS就是一个没有界面的浏览器,只是操控这个浏览器的不是人。利用 selenium+phantomJS能干很多事情,例如识别点触式(12306)或者滑动式的验证码,对页面表单进行暴力破解等等。它在自动化渗透中还 会大展身手,以后还会提到这个。

 

 

转自:https://www.cnblogs.com/bsdr/p/5151891.html

--结束END--

本文标题: 常见的反爬虫和应对方法

本文链接: https://www.lsjlt.com/news/179559.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 常见的反爬虫和应对方法
    0x01 常见的反爬虫 这几天在爬一个网站,网站做了很多反爬虫工作,爬起来有些艰难,花了一些时间才绕过反爬虫。在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下。 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分...
    99+
    2023-01-30
    爬虫 常见 方法
  • 【Python3爬虫】常见反爬虫措施及解
    这一篇博客,是关于反反爬虫的,我会分享一些我遇到的反爬虫的措施,并且会分享我自己的解决办法。如果能对你有什么帮助的话,麻烦点一下推荐啦。   UserAgent中文名为用户代理,它使得服务器能够识别客户使用的操作系统及版本、CPU 类...
    99+
    2023-01-30
    爬虫 措施 常见
  • 爬虫中常见的反爬虫策略有哪些
    小编给大家分享一下爬虫中常见的反爬虫策略有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.IP封锁站点运行人员在分析日志时,有时会发现在同一时间段内有一个或...
    99+
    2023-06-20
  • 常见的反爬虫机制有哪些
    这篇文章主要讲解了“常见的反爬虫机制有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的反爬虫机制有哪些”吧!对爬虫用户而言,网站的反爬行机制可以说是其头号敌人。反爬机制是一种防止爬虫...
    99+
    2023-06-20
  • 常见的反爬虫urllib技术分享
    目录通过robots.txt来限制爬虫:通过User-Agent来控制访问:验证码:IP限制:cookie:JS渲染:爬虫和反爬的对抗一直在进行着…为了帮助更好的进行爬...
    99+
    2024-04-02
  • Python:常见反爬策略及应对方案汇总
    2019常见反爬策略及应对方案大汇总了。如果你对反爬虫的策略和手段还掌握的不很全面,进来学就对了!一切都是刚刚好,一切都不晚!...
    99+
    2023-06-02
  • python爬虫的常见方式
    requests+bs4+lxml直接获取并解析html数据抓包ajax请求,使用requests获取并解析json数据反爬严重的网站,使用selenium爬取设置代理    a.urllib/requests/selenium+chrom...
    99+
    2023-01-31
    爬虫 常见 方式
  • 怎么应对网站反爬虫
    这篇文章给大家分享的是有关怎么应对网站反爬虫的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、IP代理对于IP代理,各个语言的Native Request API都提供的IP代理响应的API, 需要解决的主要就是...
    99+
    2023-06-15
  • 网络爬虫的常见方式
    本篇内容主要讲解“网络爬虫的常见方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“网络爬虫的常见方式”吧!IP代理是一个网络信息的中转站,代理客户的真实IP进行访问,代理IP有三种形式,普通IP...
    99+
    2023-06-20
  • 爬虫中常见的采集数据方法有哪些
    本篇内容主要讲解“爬虫中常见的采集数据方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“爬虫中常见的采集数据方法有哪些”吧!网络数据采集过程本身非常复杂。除了爬虫程序复杂之外,被抓取目标网...
    99+
    2023-06-20
  • 盘点Python 爬虫中的常见加密算法
    目录前言1. 基础常识2. Base64伪加密3. MD5加密4. AES/DES对称加密密钥填充模式前言 今天小编就带着大家来盘点一下数据抓取过程中这些主流的加密算法,它们有什么特...
    99+
    2024-04-02
  • JS参数反爬虫的方法是什么
    这篇文章主要介绍“JS参数反爬虫的方法是什么”,在日常操作中,相信很多人在JS参数反爬虫的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS参数反爬虫的方法是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-02
  • 计算机网络中常见网站反爬虫的解决措施
    这篇文章主要介绍计算机网络中常见网站反爬虫的解决措施,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、最简单的方式便是校验User-Agent除了 User-Agent,所有通过 HTTP 请求传递到服务器的客户端参...
    99+
    2023-06-15
  • Python爬虫中常见的加密算法有哪些
    这篇文章主要讲解了“Python爬虫中常见的加密算法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python爬虫中常见的加密算法有哪些”吧!1. 基础常识首先我们需要明白的是,什么是...
    99+
    2023-07-02
  • 盘点 90% Python 爬虫中的常见加密算法
    相信大家在数据抓取的时候,会碰到很多加密的参数,例如像是"token"、"sign"等等,今天小编就带着大家来盘点一下数据抓取过程中这些主流的加密算法,它们有什么特征、加密的方式有哪些等等,知道了这些之后对于我们逆向破解这些加密的参数会起到...
    99+
    2023-05-14
    Python 爬虫 加密算法
  • Python中常见的反爬机制及其破解方法总结
    一、常见反爬机制及其破解方式 封禁IP,使用cookie等前面文章已经讲过 现在主要将下面的: ​ ~ 验证码 ​ —> 文字验证码 —> OCR...
    99+
    2024-04-02
  • Python爬虫的两套解析方法和四种爬虫实现
    【本文转载自微信公众号:数据科学家养成记,作者:louwill,转载授权请联系原作者】 对于大多数朋友而言,爬虫绝对是学习python的最好的起手和入门方式。因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都...
    99+
    2023-06-02
  • Python中爬虫编程的常见问题及解决方案
    Python中爬虫编程的常见问题及解决方案引言:随着互联网的发展,网络数据的重要性日益突出。爬虫编程成为大数据分析、网络安全等领域中必备的技能。然而,爬虫编程不仅需要良好的编程基础,还需要面对着各种常见的问题。本文将介绍Python中爬虫编...
    99+
    2023-10-22
    解决方案 常见问题 关键词:爬虫编程
  • Python中常见的网络爬虫问题及解决方案
    Python中常见的网络爬虫问题及解决方案概述:随着互联网的发展,网络爬虫已经成为数据采集和信息分析的重要工具。而Python作为一种简单易用且功能强大的编程语言,被广泛应用于网络爬虫的开发。然而,在实际开发过程中,我们常会遇到一些问题。本...
    99+
    2023-10-22
    解决方案: 反爬虫机制 网络爬虫问题: IP封锁 动态网页渲染
  • 使用代理ip遇到反爬虫的解决方法
    这篇文章主要介绍使用代理ip遇到反爬虫的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!分布式爬虫。我们爬虫的时候可以采用分布式的方法,有一定几率起到反爬虫的作用,也可以增加抓取量。保存cookies。当模拟登...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作