我必须从本地服务器下载大量文件。在浏览器[Firefox]中打开URL时,将打开页面,其中包含“正在生成文件...等待...”,然后弹出窗口会显示保存所需.xlsx文件的选项。
我尝试使用urllib保存页面对象,但它将.html文件的内容保存为“正在生成文件..等待..”。我使用了这里描述的代码(使用urllib2): How do I download a file over HTTP using Python?
我不知道如何下载服务器稍后发送的文件。它在浏览器中工作正常。如何使用python模拟它?
答案 0 :(得分:1)
首先,您必须知道生成文档的确切URL。你可以使用firefox和插件Http Live Headers。
然后使用python来模拟"同样的要求。
我希望有所帮助。
PD:或者分享网站的网址,然后我可以更好地帮助你。
答案 1 :(得分:1)
import requests
url = 'https://readthedocs.org/projects/python-guide/downloads/pdf/latest/'
myfile = requests.get(url, allow_redirects=True)
open('c:/example.pdf', 'wb').write(myfile.content)
有些老,但面临相同的问题。 解决方案的关键是allow_redirects = True。
答案 2 :(得分:-1)
是否像
一样简单import urllib2
import time
response = urllib2.urlopen('http://www.example.com/')
time.sleep(10) # Or however long you need.
html = response.read()