python 关于Max retries exceeded with url 的错误

在爬取boss直聘时出现这种错误,于是搜索了网上很多文章,总结如下:
1.http连接太多没有关闭导致的,解决方法:

import requests
requests.adapters.DEFAULT_RETRIES = 5 # 增加重连次数
s = requests.session()
s.keep_alive = False # 关闭多余连接
s.get(url) # 你需要的网址

2.访问次数频繁,被禁止访问,解决方法:使用代理

import requests
s = requests.session()
url = "https://mail.163.com/"
s.proxies = {"https": "47.100.104.247:8080", "http": "36.248.10.47:8080", }
s.headers = header
s.get(url)

查找代理的网址:http://ip.zdaye.com/shanghai_ip.html#Free
使用代理时需注意:
1.代理分为http和https两种,不能用混,如果把http的代理用作https也是会报上面的错误;
2.上面的代理以字典格式传入,例如上面的例子,可以是“47.100.104.247:8080”这种格式,也可以是“https://47.100.104.247:8080”这种格式;
3.如果代理不可用一样会报上面的错误。
以下方法判断代理是否可用:

import requests
s = requests.session()
url = "https://mail.163.com/"
s.keep_alive = False
s.proxies = {"https": "47.100.104.247:8080", "http": "36.248.10.47:8080", }
s.headers = header
r = s.get(url)
print r.status_code  # 如果代理可用则正常访问,不可用报以上错误
  • 22
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Python中,当你使用hdfs模块操作HDFS时,可能会遇到"max retries exceeded with url"的错误。这是由于连接HDFS的重试次数超过了最大允许的次数所引起的。 要解决这个问题,有几种可能的方法。 首先,你可以尝试增加重试次数的最大限制。这可以通过在代码中设置相关参数来实现。例如,你可以使用hdfs模块的Config类,并将retry_exceptions参数设为一个合适的值。这样,你就可以提高重试次数的限制,以适应你的应用场景。 另外,你也可以尝试增加连接超时的时间。同样地,你可以使用hdfs模块的Config类,并将timeout参数设置为一个更大的值。这样,你可以给连接更多的时间来建立和响应。 此外,还有一种方法是检查你的网络连接。这个错误通常是由网络连接不稳定或延迟引起的。所以,你可以检查你的网络是否正常,并尝试连接到其他HDFS集群或URL来确定是否存在网络问题。 最后,你还可以尝试更新你使用的HDFS库或版本。有时,这个错误可能是由于HDFS库的一个bug或问题引起的。通过升级到最新的版本,可以解决一些已知的问题,并提供更好的兼容性和稳定性。 总的来说,解决"max retries exceeded with url"错误的方法有很多种,包括增加重试次数的限制、增加连接超时的时间、检查网络连接以及更新HDFS库或版本等。你可以根据你的具体情况选择适合的方法来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值