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上找到的,结果正确。

 

转载于:https://www.cnblogs.com/fenglj/p/7291343.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值