分享好友 最新动态首页 最新动态分类 切换频道
014:Django反爬虫和反反爬虫实战讲解
2024-12-26 21:54

最近一直在用django写一个个人音乐在线播放平台。
其中在网页数据保护方面,我采取了很多种的反爬虫措施,所以在本篇文章中,我从源码和实际操作上给大家分析下我所使用的反爬虫及其对应的破解技巧。

首先我们声明的是,爬虫和反爬虫没有高低之分,虽然总有一种方法能突破你的安全保护。
爬虫就像是一个钉子,反爬则是一扇铁窗。钉子坚持不懈,总能搞破窗。但是窗户是不能只针对于一点全力打造的。从此,修修补补,一般双方不下班不休。
下面我把反爬和反反爬分开来写。这样爱好不同的人可以各取所需。

1、我在django-views中设置了登录身份验证,设置了装饰器,通过META.get获取请求头,限制请求头和访问间隔。

 

!记得上面是一个装饰器。
mete.get可以获取请求头部的信息。如果没有请求头User-Agent的话,就只能请求到我的csdn博客链接。在最下面记录了上一次到这一次访问的ip时间,如果频率小于2秒就会跳转到错误页面。

2、设置了cookie和登录成功后的session,并通过url编码方式隐藏cookie
cookie和session是网站的必须品,但是有的爬虫会通过cookie直接省去登录来访问你的主页从而提取数据。
因为url编码方式不支持中文,所以我们可以设置为中文及外文的cookie。
大致如下

 
 

3、设置了自动刷新login页面,30秒计时。
为了防止selenuim和无界面浏览器的侵袭,只能尽量的牺牲一点用户体验,我们把浏览器刷新时间控制在30秒左右,运行缓慢的无界面浏览器就会很难受了。
这里我用JS来实现的。

 

4上面设置了30秒的时间是不够的,所以我在登录界面设置了验证码,这样也能隔绝一大部分的爬虫初学者。

 

这个写起来特别简单,只需要在原click方法上给url+上一个?就可以重复请求。(如果两次请求url相同是不能刷新图片的

下面是验证码生成的代码
(本篇代码为了方便讲解,我都写在视图中,有不懂请留言

 

5、因为只是这样我感觉力度还是不够,有耐心的selenuim还是可以很快破解的。所以我从属性上来限制一下PhantomJS和selenuim。
这个限制是用js来写的。
…我刚突然发现我把这页的JS混淆压缩加密了,不过可以拿去直接用。

 

首先上文中的方框是selenuim不能是别的字符集,会影响他的读取操作,有限制作用,如果添加的够多的话,可能会把他搞崩溃。
第一个if的作用是,如果访问的驱动是webdriver的话,就把页面跳转到别的地方。后面的两个作用是:通过判断访问来源的长度和语言来判断是不是无界面浏览器。最后面那个是通过对图片的识别方式来判断是不是无界面浏览器。
因为无界面浏览器在访问图片的时候,他的访问得到的图片宽高都是0;并且无界面浏览器的语言默认为空,长度默认为0.

9、比较难受人的一种css方法,通过字符集映射来改变页面信息和源码信息的不同。
利用前端字体文件(.ttf)混淆文本来阻止爬虫爬取网站数据.这个我不详细介绍了,举几个列子,大家可以网上搜索下具体操作。

  • 1 FONT-FACE拼凑式
  • 2 BACKGROUND拼凑式
  • 3 字符穿插式
  • 4 伪元素隐藏式
  • 5 元素定位覆盖式
  • 6 IFRAME异步加载式
  • 7 字符分割式
  • 8 字符集替换式

还有点什么反爬方式,我忘记了。。先不写了。
下面我们来逐条破解上面的反爬措施。

最新文章
文艺晚会策划书剧本(五篇)
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
uc神马搜索广告表单推广怎么做
uc神马搜索广告表单推广怎么做,这是许多广告主都关心的问题。作为遵义腾浪科技有限公司的全平台广告开户推广渠道,我们为您提供了解答和解决方案。关键词:、、。在进行uc神马搜索广告表单推广之前,您需要进行广告开户。作为腾浪科技的渠
电脑硬盘重新分区教程「苹果电脑如何重新分区」
刚买的新电脑,一般情况下只有两个或四个盘符,很多人就需要给电脑重新进行分区,想要多设置几个分区,方便更好的管理电脑的各个数据。但是很多人不太会设置,下面小编就教大家两个方法快速给新电脑进行分区。使用电脑自带的磁盘管理来进行
打造卓越展示型,策略解析与实战攻略
构建高效展示型,本书提供全面策略与实战指南。涵盖设计、用户体验、内容优化、SEO技巧等多方面内容,助您打造专业、易用、流量高的展示型。从规划到实施,深入解析成功案例,提升竞争力。展示型的特点搭建策略解析实战操作手册在互联网的
熊猫咖啡屋 云手机多开挂机
《熊猫咖啡屋》是一款轻松治愈的3D模拟经营游戏,带你体验咖啡文化和经营咖啡店的快乐!通过「熊猫咖啡屋云手机软件」可以大大提高您的挂机搬砖效率:多多云手机完全模拟真实手机环境,每一台专业云手机都是独立系统,允许用户在云手机里安
生成式AI每年可为经济增加2.6万亿美元至4.4万亿美元
▼麦肯锡表示:“生成式人工智能可能对知识工作产生最大的影响,特别是涉及决策和协作的活动,而这些活动以前自动化的潜力最低。”生成式人工智能有可能改变组织组织内部公司信息的方式,使员工更容易通过类似 ChatGPT 的查询界面访问存档信
蛙漫漫画app官方免费版下载最新版
蛙漫漫画app官方免费版是一款非常优秀的漫画阅读平台!蛙漫漫画app不仅丰富了用户的漫画阅读资源,同时还提供了便捷的使用方式和多种阅读设置,支持离线下载,用户可以将自己喜欢的漫画作品下载到本地,随时随地进行阅读;如果你是一名热爱
高清美女写真生成攻略:用AI轻松打造你的理想形象!
DALL-E:作为OpenAI开发的强大工具,DALL-E以“从文字到图像”的技术闻名。用户只需输入一段描述,它就能生成精美的图片,并在某些情况下还能理解更复杂的指令。然而,DALL-E在生成面部图像时效果有时不够稳定,可能会出现失真或不自然的细
TOP榜十大Ai大模型培训学校综合排名2025实时更新一览
数学基础:深入理解线性代数、概率论、统计学和微积分等基础数学知识,这些是构建和理解AI大模型的重要基石。算法原理:掌握深度学习的基本概念和算法,如反向传播算法、梯度下降优化算法等,这些算法是训练和优化AI大模型的关键。模型架构
色蜂视频如何提升用户体验-它的互动功能和内容创作模式有何优势
色蜂视频,作为近年来兴起的一种视频分享平台,逐渐在网络中积累了大量的用户。它不仅提供了丰富的视频内容,而且还给用户提供了一个互动性强的社交空间,受到不少用户的喜爱。对于广大视频爱好者来说,色蜂视频无疑是一个值得关注的选择。
相关文章
推荐文章
发表评论
0评