有一个web page我可以在 chrome 中使用“链接另存为”选项下载 zip 文件,但是当我复制 link address 时并在浏览器中打开它返回 403/forbidden。我尝试使用请求库保存文件,但它也被禁止响应。
我不知道chrome怎么下载,但是我用requests库下载不了。
如何在不使用 selenium 网络驱动程序的情况下下载文件,因为这对于这个简单的任务来说太过分了?
最佳答案
我建议为此使用请求。下面的简单示例,其中填充了第一个文件:
url = 'https://www.nseindia.com/content/historical/EQUITIES/2003/DEC/cm01DEC2003bhav.csv.zip'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36', 'Referer': 'https://www.nseindia.com/'}
r = requests.get(url, allow_redirects=True, headers=headers)
open('cm01DEC2003bhav.csv.zip', 'wb').write(r.content)
网站检查 header 中的 referer,如果 referer 与网站本身不匹配,则拒绝请求。
关于python - 使用没有 Selenium 的 Python 下载文件,例如 Chrome 的 "Save Link As",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838443/