[英]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.