浅谈网页referer的作用以及反爬虫的解决方法

更新:2020/3/16 17:37:28 浏览:990次

  我们知道,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即可

  蝶鸟IP平台专业提供优质HTTP/HTTPS/SOCKS5代理IP服务,欢迎广大顾客朋友前来垂询。

  客服QQ:2590525183。