Home
>
宁夏erp 实施
>
宁夏open erp
宁夏open erp

time:2020-08-28 10:40:01

author:重庆佰鼎科技有限公司

【Font size: big medium smail

本文由重庆佰鼎科技有限公司提供,重点介绍了open erp相关内容。重庆佰鼎科技有限公司专业提供erp 实施,管理erp系统,erp模拟等多项产品服务。秉承着真诚、专业、责任、科学的宗旨,在行业内备受赞誉坚持用专业与专注帮助每一个客户。

open erp这是headers系列第二篇,第一篇在这里Headers之User-Agent设置

本文分为如下几个部分

两个referer设置抓取资源的例子盗链说明什么时候使用referer网络安全问题headers中的referer表示你是从哪个网页来到这个网页的,比如上面我们是在这个页面点击进入的这个页面,后者的headers中referer就是前一个页面。

如果我们直接在浏览器输入后者的网址进行请求,则referer就不见了,因为我们不是从其他页面找到这里的open erp

有的网站会根据referer进行反爬。

第一个例子,这个网站的动图我们要下载这个网站的这个gif动图。

首先最简单地请求

r = requests.get('http://upfile2.asqql.com/upfile/2009pasdfasdfic2009s305985-ts/gif_spic/2018-3/201832919504314405.gif')

r.status_code

# 404现在我们加入referer来请求

headers = {'referer': 'http://www.asqql.com/'}

r = requests.get('http://upfile2.asqql.com/upfile/2009pasdfasdfic2009s305985-ts/gif_spic/2018-3/201832919504314405.gif',

headers = headers)

with open('e.gif', 'wb') as f:

f.write(r.content)我们就得到的正确的gif图

其实不用referer,而是用cookie也可以正确获取。你如果直接把链接复制到浏览器里打开,这时没有referer,因为你不是从其他页面点击进来的,但是此时依然可以看到并下载这张动图,因为用浏览器打开是自动带有cookie的。open erp

第二个例子:又拍网图片下面举一个图片网站的例子,要下载这个网站中的图片,可以用网站主页的referer,也可以不带有referer,但是不能是其他网站的referer。

下载这个网站的这张图片,如果直接把这个链接复制到浏览器里,是可以访问这张图片的,检查headers发现是没有referer的,说明没有referer可以正常下载这张图片。

通过直接请求下载这张图片代码如下

import requests

r = requests.get('http://photo.yupoo.com/vibius/GkRSowXr/medish.jpg')

r.status_code

# 200

with open('a.jpg', 'wb') as f:

f.write(r.content)获得图片如下

现在我们修改一下headers中的referer,改成知乎的主页,就会发现抓取不到我们想要的图片

import requests

headers = {'referer': 'https://www.zhihu.com/'}

r = requests.get('http://photo.yupoo.com/vibius/GkRSowXr/medish.jpg', headers = headers)

with open('b.jpg', 'wb') as f:

f.write(r.content)这样会得到下面图片

上述请求过程表示我们是从知乎网站中点击一个链接获得了这张图片,而yupoo网站认为能这样访问是不合理的,只有从yupoo主页找到的这张图片才是真正用户所为

import requests

headers = {'referer': 'http://photo.yupoo.com/'}

r = requests.get('http://photo.yupoo.com/vibius/GkRSowXr/medish.jpg', headers = headers)

with open('c.jpg', 'wb') as f:

f.write(r.content)使用yupoo的主页作为referer则可以正常获得图片。

上面这种情况其实不知道有referer这个事也是没有关系的,但是它还是有一些限制的。

盗链说明盗链是指服务提供商自己不提供服务的内容,通过技术手段(可以理解成爬虫)去获取其他网站的资源展示在自己的网站上。常见的盗链有以下几种:图片盗链、音频盗链、视频盗链、文件盗链。

网站盗链会大量消耗被盗链网站的带宽,而真正的点击率也许会很小,严重损害了被盗链网站的利益。

被盗网站就自然会防盗链,可以通过经常更换图片名,也可以通过检测referer。因为正常用户访问一张图片一定是从自己的网站点击链接进去的,如果一个请求的referer是其他网站,就说明这是一个爬虫。

而盗链网站也会针对性进行反盗链,可以通过在请求的headers中设置referer来绕过防盗链,我们现在使用爬虫抓取别人的网站也是这样。

什么时候使用referer在抓取图片、视频等网站的时候要多注意是不是因为没加referer,上面抓取图片和gif动图是一个例子,网上还有其他需要设置referer的文章,如下所示

这篇文章抓取Coursera视频这篇文章抓取天猫价格这篇文章抓取学校成绩网络安全问题有一种CSRF网络攻击可以看这篇文章,可以通过设置referer来避免。

但是使用referer也可能引起一些不好的结果,比如你点击了一个链接,请求这个链接时带的referer就是你当前的URL,如果你的这个URL中携带着一些隐私信息,那么你的这些信息就暴露给了访问的链接,这种情况详情可以看这篇文章

专栏信息专栏主页:python编程

专栏目录:目录

爬虫目录:爬虫系列目录

版本说明:软件及包版本说明

Reprint please indicate:http://oybw.cnsoftweb.com/ERP-4887.html