【问题标题】:HTTP 503 Error while using python requests module使用 python 请求模块时出现 HTTP 503 错误
【发布时间】:2018-06-03 07:09:23
【问题描述】:

我正在尝试发出 HTTP 请求,但我目前可以通过 Firefox 浏览器响应 503 错误访问的网站。代码本身非常简单。在网上搜索后,我在请求中添加了user-Agent 参数,但它也没有帮助。有人可以解释我如何摆脱这个 503 错误吗? 顺便说一句,我想根据 btc 的价格制作自己的警报系统。

import requests

url = "https://www.paribu.com"
header ={'User-Agent': 'Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0 '}


response = requests.get(url,headers = header)
print(response)

【问题讨论】:

  • 503 服务不可用。在这种情况下,看起来网页有一个缓冲屏幕,可以防止您抓取
  • 503 出现在我的第一次尝试中。所以我认为他们没有将我列入黑名单,我认为正如你所说,他们以某种方式阻止了网络抓取。
  • 我也有同样的问题。使用 curl 可以正常工作,来自 Java 和 Chrome 的请求也可以正常工作。所以我认为请求模块存在问题。

标签: python python-3.x http request http-status-code-503


【解决方案1】:

503 表示服务器超载: https://httpstatuses.com/503

这不是您的代码的问题,而是您尝试访问的服务器的问题。

【讨论】:

  • 这并不意味着服务器超载。只是表示服务器不可用
  • 但是我可以通过浏览器访问该网站。不是说服务器没问题吗?
  • 不一定。它返回 503 是因为他们想阻止您抓取该网站
【解决方案2】:

我遇到了同样的问题。在您的代码中使用它。

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',}
r = requests.post(url, headers=headers)
r.raise_for_status()

Found from this site

【讨论】:

  • 谢谢,看起来他们正在阻止爬虫 :)
【解决方案3】:

状态码 503 表示服务器停机进行维护。请稍后再试。

【讨论】:

    【解决方案4】:

    我的代码是

    我正在尝试 Amazon.co.uk - 所以阻止 get.request 对他们来说更有意义,服务不会中断。

    【讨论】:

    • 嗨,欢迎来到 StackOverflow。您似乎忘记添加代码了,请将其编辑到您的问题中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2018-04-22
    • 1970-01-01
    相关资源
    最近更新 更多