HTTP Error 403: Forbidden

在写网页爬虫的时候,有的网站会有反爬取措施,所以有可能出现上面所示bug

出现bug的地方可能有两处:

1. requests请求时

  requests.get(url),返回结果是403。

  解决方法:

  headers= {

      'User-Ageent':'一些字符',

      'Cookie':'一些字符'

   }

  requests.get(url, headers=headers),

  此时返回结果应该就是200,正常。加入headers的目的是,模拟人的行为,让服务器认为是人在操作,

  User-Agent, Cookie可以查看网页requests,即可查明,不同网页,Cookie不同

2. urlretrieve下载东西时

  解决方法:

 import urllib.request

opener=urllib.request.build_opener()
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1941.0 Safari/537.36')]
urllib.request.install_opener(opener)

url=''
local=''
urllib.request.urlretrieve(url,local)

  原理还不是很清楚,在stackoverflow上找到的,结果正确。


posted on 2017-08-05 20:38  banji  阅读(1630)  评论(0编辑  收藏  举报

导航