簡體   English   中英

如何使用python下載推送到瀏覽器的文件?

[英]How to download a file pushed to a browser using python?

我想用python下載一個zip文件。

使用這種類型的URL, http: //server.com/file.zip,使用urllib2.urlopen並將其寫入本地文件非常簡單。

但在我的情況下,我有這種類型的URL: http//server.com/customer/somedata/download? id = 121& m = zip ,下載是在表單驗證后啟動的。

確切地說,在我的情況下我想將它部署在heroku上可能是有用的,所以我不能使用用C ++構建的spynner。 此下載是在使用scrapy進行刮擦后啟動的。

從瀏覽器下載效果很好,我得到一個好的zip文件及其名稱。 使用python我只得到html和標題數據......

有沒有辦法在python中從這種類型的URL獲取文件?

本網站正在提供JavaScript,然后調用下載。 您別無選擇,只能:a)在模擬的瀏覽器環境中評估JavaScript,或者b)手動解析JS的功能,並在python中重新實現。 例如,字符串提取URL和下載密鑰,可能調用AJAX請求,最后下載文件

我一般建議使用Mechanize進行網頁相關的自動化,但它也不能處理JavaScript,所以我想你可以堅持使用Scrapy,如果你想去計划b)。

在瀏覽器中進行下載時,打開開發人員控制台的網絡選項卡,記錄HTTP方法(可能是POST),POST參數,cookie以及驗證中的其他所有內容; 然后使用庫來復制它。

暫無
暫無

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

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