专栏首页源懒由码python 认识爬虫与反爬虫

python 认识爬虫与反爬虫

参考资料:Python爬虫,你是否真的了解它?: https://www.bilibili.com/read/cv4144658

爬虫:通过计算机去获取信息,以节约人力成本,不节约的就不需要用了。

反爬虫的最终:区别计算机和人,从而达到,排除计算机的访问,允许人的访问。

最终结论:爬虫与反爬虫都是有尽头的。

爬虫的尽头就是极度模拟用户(自动化)。

反爬虫的尽头就是机器无法识别而人类可以识别的验证码。

所以,省事的话,不如只学一招自动化?好像也是可以,虽然就是慢了点。获取用自动化获取关键信息,然后再去并发请求。

常见的反爬虫措施:

1、访问频率

如果访问太频繁网站可能针对你的ip封锁一段时间,这和防DDoS的原理一样,对于爬虫来说,碰到这样的限制一下任务的频率就可以了,可以

让爬虫像人类频度一样访问网页,sleep个5秒10秒。

2、登录限制

公开信息的网站一般不会有这个限制,这样让用户也麻烦了。此处通过模拟登录避开,增加一个Cookies。

3、通过header封杀

增加一个header即可,可以通过faker随机生成一个请求头。

4、JavaScript脚本动态获取网站数据(升级)

有一些网站(尤其是单页面网站)的内容并不是通过服务器直接返回的,而是服务器只返回一个客户端JS程序,然后JS获取内容。更高级

的是,js在本地计算一个token,然后拿这个token来进行ajax后去内容。而本地的js又是经过代码混淆和加密的,这样会增加解析请求的难度。

不过直接模拟浏览器运行,则可以轻松破解。

5、验证码(终极武器)

验证码是专门用来区分人和计算机的手段。对于反爬来说,需要能解决验证码的问题。常见的验证码,Google的reCAPTCHA,极验。

6、ip限制

网站可能识别的ip永久封杀,这种方式需要的人力比较大,误杀用户代价很高。破解方法是使用代理池。

7、网站内容反爬

有一些网站将网站内容用只有人类可以接收的形式来呈现,比如将内容用图片的形式显示。图片识别可以使用ocr。比如:单一链接请求返回的数据

只是图片的一部分编码,需要多个url返回结果合并以后才能得到一个完整的图。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VBS基础篇 - 对象(3) - FileSystemObject对象

      文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级对象是FileSystemObj...

    forxtz
  • Django中的QuerySet

      查询集,类似一个列表,包含了满足查询条件的所有项。QuerySet 可以被构造,过滤,切片,做为参数传递,这些行为都不会对数据库进行操作。只有你查询的时候才...

    forxtz
  • nutz 自定义查询 分页 取值

    开始一直纠结,如果都有构建一个Bean对象的话,岂不是很麻烦。就发现可以直接用 list<map> 讲查询结构以键值对的形式取出来。这样就方便了。使用方法如下。

    forxtz
  • 超轻量级爬虫框架:looter

    作者:半载流殇,Pythonistia && Otaku,努力转行中的一位测绘人员です

    Python中文社区
  • 如果你不知道做什么,那就学一门杂学吧

    多年以后,面对人工智能研究员那混乱不堪的代码,我会想起第一次和S君相见的那个遥远的下午。那时的B公司,还是一个仅有6个人的小团队,Mac和显示器在桌上依次排开,...

    青南
  • 网络爬虫的风险

    随着互联网的发展,网络爬虫也越来越多,爬虫本身是一种网络技术,所以爬虫不是违法的技术。如果使用爬虫技术去做违法项目,例如:色情,赌博等违法业务,一旦发现就会触碰...

    用户6172015
  • Python 爬虫学习一

    简单来说网络爬虫就是自动索引互联网上信息的一段程序,看起来像是一个搜索引擎「实际上网络爬虫就是搜索引擎的重要组成部分」,对于我们不做搜索引擎的人来说又为什么来学...

    keinYe
  • 网络爬虫是什么?

    互联网诞生之初,是为了让人们更容易的分享数据、交流通讯。互联网是桥梁,连接了世界各地的人们。网站的点击、浏览都是人为的,与你聊天的也是活生生的人。然而,随着技术...

    一墨编程学习
  • Python 网络爬虫概述

    几乎每个网站都有一个名为robots.txt的文档,当然也有有些网站没有设定。对于没有设定robots.txt的网站可以通过网络爬虫获取没有口令加密的数据,也就...

    Python知识大全
  • 爬虫开发者职业生涯的终止!

    "给你个帐号,你用这个帐号登录进XXX系统,把所有的数据给我爬下来!" “这个是犯法的吧,我不做!”

    CainGao

扫码关注云+社区

领取腾讯云代金券