• 技术文章 >Python爬虫 >爬虫入门

    有哪些反爬虫策略和应对方法?

    2021-09-22 16:48:41原创245

    image.png

    由于互联网的不断发展,爬虫和反爬虫之间的战争从未停止过。今天小编就为大家分享几个复杂的反爬虫策略,一起来看看吧~。

    1、数据伪装。

    在网页上,爬行者可以监控通信,然后模拟用户的正常请求。在这个例子中,一些网站会通过伪装数据来增加其复杂性。例如,一个网站的展示价格为299元,CSS伪装用于DOM树。你必须在CSS规则中做一些计算,以获得正确的数值。在这种情况下,使用爬虫必须非常小心,因为一旦目标网站被修改,规则就会发生变化,抓取的数据就会失效。

    2、参数签名,APP通过加密算法计算请求参数,从而获得签名。

    签名通常与时间戳有关,并为请求添加时间戳。它能在短时间内有效,是一个固定的参数。服务器发送请求后,服务器验证参数、时间戳,比较签名是否一致。如果不一致,则判定为非法请求。通常很难在APP端获得加密算法,通常需要反编译才能获得加密算法。

    3、隐藏验证,隐藏验证是最复杂的方法之一。

    例如,在保护网站方面,通过JavaScript请求一些特殊的网站,可以获得一些特定的令牌(token),这样每个请求都会产生不同的标记。有些网站甚至会在一些看不见的图片中添加一些特殊的请求参数,以确定它们是否是真正的浏览器用户。在这种情况下,直接获得API的请求通常是不可行或非常困难的,只能通过ChromeHeadless等工具模拟用户的行为来避免这种情况。

    4、停止调试。

    其中一种反爬虫策略是特殊的。一旦打开浏览器的控制台界面,就会无限触发浏览器的调试指令。该网站为所有结构函数添加了debugger,该关键字称为leonid-tq-jq-v3-min.js,当生成任何对象时触发调试器。它的目的是防止意外的脚本或程序被用来跟踪和调试,从而保护代码。在这种情况下,您可以构建一个修改后的js文件,去除debugger关键字,使用mitmproxy转发流量,拦截leonid-tq-jq-v3-min.js,并将修改后的js文件返回浏览器,从而绕过这个限制。

    大家想尝试使用代理ip,可以进入品易http代理ip官网了解更多内容,提供高匿稳定代理ip,支持HTTP/HTTPS/SOCKS5代理协议,提供动态IP、静态IP等服务。百兆带宽,千万ip资源,保证爬虫数据传输安全性。快捷获取网站数据,现在还有免费测试,赠送ip的活动!

    了解更多详情见:http://http.py.cn/

    专题推荐:反爬虫
    品易云
    上一篇:​设计网络爬虫需要注意什么吗? 下一篇:什么样的爬虫是合格的?

    相关文章推荐

    • Python2爬虫入门之如何学习爬虫• Python3爬虫入门之Python3的安装• Python3爬虫入门:HTTP基本原理• python爬虫好学吗• Python2爬虫入门:爬虫基础知识

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网