如何使用服务器延迟一段时间后发送的python下载文件?

时间:2015-11-10 13:34:58

标签: python file download urllib2 urllib

我必须从本地服务器下载大量文件。在浏览器[Firefox]中打开URL时,将打开页面,其中包含“正在生成文件...等待...”,然后弹出窗口会显示保存所需.xlsx文件的选项。

我尝试使用urllib保存页面对象,但它将.html文件的内容保存为“正在生成文件..等待..”。我使用了这里描述的代码(使用urllib2): How do I download a file over HTTP using Python?

我不知道如何下载服务器稍后发送的文件。它在浏览器中工作正常。如何使用python模拟它?

3 个答案:

答案 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()