【问题标题】:Mp3 download urllib.request.urlopen() Time-outMp3 下载 urllib.request.urlopen() 超时
【发布时间】:2016-05-03 14:07:27
【问题描述】:

我有一个名为 href_w 的列表,其中包含一堆要下载的 mp3 链接,但是当我执行这段代码时,它给了我一个错误:

# Download file
print(color.BLUE + "\n[*] Downloading requested mp3(s) ..." + color.END)
for link in href_w:
    url = "http://www.mp3c.cc"+link.replace('track','files')
    print("[*] GET "+url)
    req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
    response = urlopen(req)
    html = response.read()

错误日志如下所示:

[*] Downloading requested mp3(s) ...
[*] GET http://www.mp3c.cc/files/88144527_288384031/
Traceback (most recent call last):
  File "mp3spyder.py", line 99, in <module>
    response = urlopen(req)
  File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 461, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 493, in error
    result = self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 676, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 461, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 499, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 579, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 502: Bad Gateway

我该怎么做才能做到正确?

【问题讨论】:

    标签: python python-3.x urllib urlopen


    【解决方案1】:

    我使用了这个脚本。它需要文件的url,读取它并将其保存到文件中。这是下载的 mp3 示例。

    import urllib
    
    url = 'http://www.drowtales.com/download/Path%20to%20Power.mp3'
    
    data = urllib.request.urlopen(url)
    
    f = open('Path to Power.mp3','wb')
    f.write(data.read())
    f.close()
    

    【讨论】:

      【解决方案2】:

      如果您从 Web 服务器收到 502 响应,通常意味着他们的后端已关闭。如果您使用 curl 或 wget,您可能会得到相同的响应。

      无论如何,您应该始终尝试 curl 或 wget 以调试此类问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-31
        • 2017-07-04
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2012-06-17
        • 2013-01-09
        • 2012-07-29
        相关资源
        最近更新 更多