簡體   English   中英

如何使用python下載服務器延遲一段時間后發送的文件?

[英]How to download a file using python that is sent after some delay by server?

我必須從本地服務器下載大量文件。 在瀏覽器 [Firefox] 中打開 URL 時,頁面會打開,內容為“正在生成文件.. 等待..”,然后彈出窗口會顯示保存所需 .xlsx 文件的選項。

我嘗試使用 urllib 保存頁面對象,但它將 .html 文件的內容保存為“文件正在生成.. 等待..”。 我使用了此處描述的代碼(使用 urllib2): 如何使用 Python 通過 HTTP 下載文件?

我不知道如何下載服務器稍后發送的文件。 它在瀏覽器中運行良好。 如何使用python模擬它?

首先,您必須知道生成文檔的確切 URL。 您可以使用 firefox 和插件 Http Live Headers。

然后使用python“模擬”相同的請求。

我希望有幫助。

PD:或分享網站的網址,然后我可以更好地為您提供幫助。

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。

是不是就這么簡單

import urllib2
import time

response = urllib2.urlopen('http://www.example.com/')
time.sleep(10)  # Or however long you need.
html = response.read()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM