下载文件headlessly
问题描述:
我运行,需要从下载网址的文件运行PHP查询的Python脚本:下载文件headlessly
url = "https://blah.com//file.php?file=FileName¶ms=query=SomeQuery"
在实际的浏览器,因为你登录的站点,去该URL启动文件(.csv)的下载。
如何通过我的脚本使用requests
下载此文件?例如:
import requests
s = requests.Session() # we log in using this session elsewhere so authentication shouldn't be a problem
response = s.get(url)
with open("my_file.csv", "w") as f:
write(response.data, f) # pseudo code
我似乎无法启动下载。我需要看看我需要传递什么标题吗?
答
这(你的代码的细微变化)似乎工作正常。
import requests
url = "https://www.stackoverflow.com"
s = requests.Session()
response = s.get(url)
with open("my_file.csv", "w") as f:
f.write(response.content)
f.close()
你可以在命令行上运行python脚本 - 并按预期下载文件吗? –
我已经这样做了,并且它不工作。我需要让'requests'模块正确地GET文件。我期待一个'JSON'格式或其他的东西... – Petar
在猜测该网站正在走出它的方式来防止你正在尝试的行为(可能利用JavaScript的东西)...不知道你是哪个网站不太可能得到任何进一步的帮助(即使我们知道你试图从这个行为下载的确切网站通常是不被接受的,所以可能不会得到答案) –