繁体   English   中英

Python:如何解决“请求的URL被拒绝。请咨询您的管理员。”

[英]Python : how to solve "The requested URL was rejected. Please consult with your administrator."

我遇到了以下问题:我必须从 web 站点下载一堆 .csv 文件,大约有 100 个。 下载每一个都需要点击 3-4 次,我不得不大约每 3-4 个月左右更新一次下载。 所以我创建了一个 Python 3 脚本来为我做这个,使用urllib.request.urlopen()

问题是,如果手动下载工作正常,当我使用脚本时,返回的文件不是 a.csv,而是一个 html 文件,其中包含消息“请求的 URL 被拒绝。请咨询您的管理员。” 我尝试在 bash 中使用 wget 或 curl 并得到相同的结果。

在请求的标头中添加用户代理。 你的代码将是这样的:

import requests

url = 'http://example.com/filename.doc'
filename = url.split('/')[-1]
user_agent = {'User-agent': 'Mozilla/5.0'}
r = requests.get(url, allow_redirects=True, headers = user_agent)
open(f'dirrictory/{filename}', 'wb').write(r.content)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM