Python爬虫,反爬手段之防盗链的处理

防盗链原理

我们日常访问网页,如果从一个网页跳转到另一个网页,http 头字段里面会带个 Referer的参数。那么图片服务器通过检测 Referer 是否来自指定域名,来进行防盗链。当然,不止图片服务器,有的视频服务器也采用了这种方式,比如B站!

简单点说,服务器会判断你是否从规定的域名来访问图片或者视频,如果是那么就正常显示,不是的话,会跳转到别的地方,那么我们用爬虫所采集的图片就会出现问题!我们来通过一个实例看看是怎么回事。

实例说明

上图是某图片网站的header截图,可以看到里面的Referer参数,写个代码看看

这里,取出了该页面的图片,直接用浏览器打开看看(建议换一个浏览器,打开会看到下面的效果)

直接被拒绝访问了!当然也可以试试代码保存,一样是会报错的哦!

解决办法

其实解决办法很简单,加入header,然后把Referer写入即可!

后记

这只是反爬手段中的一种很常见的,还有很多,慢慢分享给大家!

因为只是一个演示用的代码,写的很简单,如果图片不清楚,或者你遇到了其他的反爬手段,也可以私信或者评论里写一下,一起交流才能更快进步!

原文发布于微信公众号 - 云飞学python(P542110741)

原文发表时间:2018-07-28

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

Git客户端安装及使用

背景 为了我帅气而高大尚的博客一直在研究github,在网上找了一圈,找到了Git的客户端 安装github Git是目前世界上最先进的分布式版本控制系统,gi...

3398
来自专栏磨磨谈

ceph luminous 新功能之磁盘智能分组

本篇是luminous一个新功能介绍,关于磁盘智能分组的,这个在ceph里面叫crush class,这个我自己起名叫磁盘智能分组,因为这个实现的功能就是根据磁...

1282
来自专栏SpringBoot 核心技术

Git核心技术:在Ubuntu下为Gitolite添加管理端

在之前章节已经完成了服务端的配置,可以访问Git核心技术:在Ubuntu下部署Gitolite服务端查看配置步骤,因为gitolite的管理是通过一个名为git...

1572
来自专栏Web项目聚集地

PL/SQL Developer连接虚拟机数据库(图文详解)

Web项目聚集地的朋友求助关于PL/SQL Developer连接虚拟机Oracle数据库的教程,他说自己操作过程遇到很多错误,可以说操作中有很多注意的地方...

1402
来自专栏smy

xampp中Apache 和 Mysql 那点经验!!

wrong path xampp\apache\bin\httpd.exe   这些问题,有时还有端口80问题,先不用急着找各种问题的解决方案,先试试用“管理员...

39613
来自专栏Puppeteer学习

超越Ctrl+S保存页面所有资源

页面所有资源包含本页面所在域资源以及第三方域资源,同主域的资源也认为第三方域资源,这种资源一般是以绝对路径的方式标识,同域下资源主要有三种表现方式 (以ht...

5863
来自专栏编程

推荐两个bash环境下的Git插件

情景 在使用Git时,常遇到这样的情况: 使用子命令时必须完全输入,并不能像shell那样有命令补全的功能; Git鼓励大量使用分支,当在分支之间切换时,常常需...

3039
来自专栏别先生

github协作开发遇到的问题

1、十一来了,帝都不好买票,30号就调休一天回去了,项目还没搞完,紧张的不行,就自己和同事搞了一个github协作开发,由于是功能和公司项目不是很沾边,但是是自...

1064
来自专栏大数据挖掘DT机器学习

python模拟新浪微博登陆功能(新浪微博爬虫)

有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。 浏览器访问服务器的过程 在用户访问网页时...

8655
来自专栏gaoqin31

让linux程序在后台运行

最近要用php进程发奖励,因为要精确到秒执行,linux系统的定时用不了,于是写了个死循环,usleep是必须的,否则系统cpu占用很高的系统cpu。

5261

扫码关注云+社区