HTTP Error 403: Forbidden
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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上找到的,结果正确。
以上是关于HTTP Error 403: Forbidden的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.x HTTP Error 403: Forbidden
urllib.error.HTTPError: HTTP Error 403: Forbidden
urllib.error.HTTPError: HTTP Error 403: Forbidden