看板 Python 關於我們 聯絡資訊
大家好 我在嘗試從期交所下載台指期歷史資料的時候 (http://www.taifex.com.tw/chinese/3/3_1_2.asp) 首先從這個頁面輸入資料並按下下載 https://imgur.com/PncrHlB 通過瀏覽器觀察送出表單後的header跟form data內容 https://imgur.com/Q4lDLc1 https://imgur.com/YdFZKdK 接著使用Python Requests測試 https://imgur.com/tlSUmW5 得到的執行結果如下 https://imgur.com/opJc2kk 跟瀏覽器的Response Header相比沒有得到回傳的Location路徑 也就無法接著使用GET方法下載回傳的資料 試過把post的params註解掉 執行的結果是一樣的 顯然我傳送的值是有問題的 希望有相關經驗的大大可以指點迷津 m(_ _)M -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.122.86 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1513377124.A.8E2.html
vi000246: 少了一些header吧 用fiddler抓你python送出的request 12/16 10:38
vi000246: 再跟你手動request的封包比較看看 12/16 10:38
解決了! 原因在這個POST請求完成之後網站會重新導向 (Requests模組POST請求預設會直接Redirect) 需要的Response Header藏在 r.history[0].headers 裡面 (重新導向了一次) ※ 編輯: walker088 (114.34.122.86), 12/16/2017 11:06:16