gpt4 book ai didi

由于权限,Python urllib 不会下载文件,但 wget 会

转载 作者:可可西里 更新时间:2023-11-01 16:21:46 25 4
gpt4 key购买 nike

我正在尝试使用 Python 的 urllib2 通过其 URL 下载 MP3 文件。

mp3file = urllib2.urlopen(url)
output = open(dst,'wb')
output.write(mp3file.read())
output.close()

我遇到了 urllib2.HTTPError: HTTP Error 403: Forbidden 错误。尝试 urllib 也失败了,但没有提示。

urllib.urlretrieve(url, dst)

但是,如果我使用wget,我可以成功下载文件。

我注意到“Difference between Python urllib.urlretrieve() and wget”中提到的两种方法之间的一般差异,但它们似乎不适用于此处。

wget 是否正在做一些 urllib2 不做的事情来协商权限?如果是这样,我该如何在 urllib2 中复制它?

最佳答案

可能是服务器端的东西——例如阻止 python 用户代理。尝试使用 wget 用户代理:Wget/1.13.4 (linux-gnu)

在 Python 2 中:

import urllib

# Change header for User-Agent
class AppURLopener(urllib.FancyURLopener):
version = "Wget/1.13.4 (linux-gnu)"
url = "http://www.example.com/test_file"
fname = "test_file"
urllib._urlopener = AppURLopener()
urllib.urlretrieve(url, fname)

关于由于权限,Python urllib 不会下载文件,但 wget 会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com