作者kogrant (詹姆士汪)
看板Python
標題[問題] 如何繞過強制以瀏覽器打開另存新檔視窗?
時間Sat May 5 20:18:32 2018
在下是python 初學者,想要用程式下載特定網址的檔案
但是下載網址的形式是
http://www.example.com/{DATE}/CSV
用了各種方法仍然無法下載檔案
後來查了收到 http 網址的 Response header時
內有 application/force-download 指令強制以瀏覽器打開另存新檔視窗
似乎是這個理由導致無法下載檔案
請問各位先進應如何跳過這個步驟將檔案存入特定路徑?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.9.72
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1525522714.A.C35.html
1F:→ kenduest: 也沒有實際的網站,也沒任何程式碼,這怎麼抓問題? 05/05 23:33
2F:推 groovy2016: wget? 05/06 00:32
3F:→ s860134: 不敢貼連結 1定4抓迷片! 05/06 07:20
謎片網址長這樣(警察杯杯不要抓我):
http://cems.ilepb.gov.tw/OpenData/API/Daily/G3200778/P101/20151201/Csv
樓下 J大提到瀏覽器的問題在瀏覽器解決
但因為我想要下載數年份的資料,不想要一個一個點另存新檔到手軟
才想要詢問看看有無程式碼可以解決這個問題?
4F:→ justoncetime: 瀏覽器的問題在瀏覽器解決不就好了? 05/06 10:03
※ 編輯: kogrant (223.140.7.93), 05/06/2018 11:18:14
※ 編輯: kogrant (223.140.7.93), 05/06/2018 11:20:52
5F:推 Sunal: import requests 05/06 11:38
6F:→ Sunal: res = requests.get(URL) ............. 05/06 11:39
7F:推 s860134: 嘎理共,這個最簡單了,這個網址沒有任何來源檢查機制 05/06 12:32
8F:→ s860134: 也就是說你直接把他當檔案網址抓下來即可 05/06 12:33
9F:→ s860134: 如果你真得想要"瀏覽器的問題在瀏覽器解決" 05/06 12:38
10F:→ s860134: 這也很簡單 你只要先設定一個使用者設定 05/06 12:39
12F:→ s860134: 之後你點開那個網頁他就自動載到你設好的路徑 05/06 12:39
謝謝樓上各位大大的指引
剛才自己再執行一遍下列程式碼,發現其實網頁有回傳資料,
只是自己還不懂如何把檔案寫入指定資料夾,才會以為沒有接收到資料的誤會
import requests # 使用 GET 方式下載普通網頁
r = requests.get('url')
#印出回傳 respone package 內容,5/6新增
print(r.content)
※ 編輯: kogrant (223.140.7.93), 05/06/2018 20:11:29
14F:→ virginbear: 最近剛好遇到這問題,感謝 05/09 04:18