-
282024年4月
-
302024年3月
-
292024年2月
-
312024年1月
-
312023年12月
-
302023年11月
-
312023年10月
-
302023年9月
-
312023年8月
-
352023年7月
-
312023年6月
-
312023年5月
-
302023年4月
-
312023年3月
-
282023年2月
-
312023年1月
-
312022年12月
-
302022年11月
-
312022年10月
-
302022年9月
-
312022年8月
-
322022年7月
-
292022年6月
-
322022年5月
-
302022年4月
-
332022年3月
-
312022年2月
-
372022年1月
-
382021年12月
-
382021年11月
-
402021年10月
-
432021年9月
-
372021年8月
-
442021年7月
-
442021年6月
-
432021年5月
-
342021年4月
-
312021年3月
-
292021年2月
-
352021年1月
-
422020年12月
-
402020年11月
-
482020年10月
-
522020年9月
-
852020年8月
-
752020年7月
-
802020年6月
-
782020年5月
-
772020年4月
-
432020年3月
-
362020年2月
-
452020年1月
-
562019年12月
-
712019年11月
-
612019年10月
-
562019年9月
-
532019年8月
-
362019年7月
-
362019年6月
-
382019年5月
-
402019年4月
-
352019年3月
-
342019年2月
-
442019年1月
-
392018年12月
-
402018年11月
-
392018年10月
-
392018年9月
-
452018年8月
-
452018年7月
-
392018年6月
-
512018年5月
-
492018年4月
-
342018年3月
-
282018年2月
-
482018年1月
-
732017年12月
-
7292017年11月
-
7442017年10月
-
2892017年9月
-
12017年8月
我们知道,referer的作用就是记录你在访问一个目标网站时,在访问前你的原网站的地址, 比如用Chrome从知乎的某个板块到另外一个,那么你在的这个网站就是原网站,按F12,选中Network选项,从页面内进入一个网站,可以从这个网站的header即头信息中,看到referer就是原来的那个网站。
由于referer是请求网页中,也就是发起HTTP请求中header的一部分,所以可以用来做网页的图片防盗链!比如一个网页的图,想用python下载到自己的电脑里,用urllib.request或者requests第三方库访问图片时,爬不下来, 这是因为python提交request申请的时候,就类似于在浏览器中的空地址栏里键入这个网页然后访问,没有referer,这时网站的设置比如是要求有referer,且referer的网站必须是你进来之前的网站,也就是这个图片的主页。
方法很简单! 既然要求你传入图片主页面的referer,在构造header的时候,传入Referer参数(注意R要大写),它的值为与这个图片链接相关的网站,或者这个图片链接地址的原网站就可以了,听起来很生涩,下面上代码。
from fake_useragent import UserAgent
伪装成浏览器
#ua = UserAgent()
headers = {'User-Agent':ua.random} #
一般网站伪装成这样也就够了,但是如果想爬图片,图片反盗链的话。如下
其实很好理解,就是告诉你要下载的那个图片页面,我是从主页面来的,现在把数据给我。
#headers = {'User-Agent':ua.random,'Referer':'这里放入图片的主页面'}#
然后在后续requests中传入header即可