看板 Python 關於我們 聯絡資訊
想請教版上高手 https://www.twse.com.tw/exchangeReport/MI_INDEX?response=csv&date=20201008&type=ALLBUT0999 這個網址我用chrome可以成功下載一個csv 但是我用python下載這個csv會失敗(之前python可以下載成功,不曉得為何最近開始 都沒辦法下載) 失敗訊息如下 [WinError 10054] 遠端主機已強制關閉一個現存的連線。 我目前的code如下 import urllib import urllib.parse import urllib.request import urllib.error url=" https://www.twse.com.tw/exchangeReport/MI_INDEX?response=csv&date=20201008&type=ALLBUT0999" user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36" headers = {'User-Agent': user_agent} request = urllib.request.Request(url,None,headers) response = urllib.request.urlopen(request) 有人知道要怎麼修改嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.164.6 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1602229930.A.9CB.html
weel99699: 你的爬蟲被偵測到了,可能是cookies或是ip等其他方式 10/09 17:11
kakar0to: 我程式應該沒有開cookie 10/09 17:18
CaptPlanet: 短時間 request 太多次會被擋 10/09 18:04
aidansky0989: 好久沒見這包 10/09 18:09
TakiDog: 用requests吧 簡單的多 10/09 19:28
andy19960407: 請用sleep 10/09 21:26
azuel: 感覺中華電信固網ip被地圖砲黑名單 10/10 13:35
azuel: 大概有人沒寫sleep又出包狂retry 10/10 13:35
aidansky0989: 沒寫sleep比較好,一直睡爬太慢 10/10 13:56
kakar0to: 我沒有短時間request太多次 只有一次就失敗 10/10 14:38
kakar0to: 應該也跟sleep沒有關西 還有別的方法嗎 10/10 14:38
azuel: 我說的是可能別人出包導致你用的浮動ip也被鎖定掉了 10/10 14:44
azuel: 沒寫sleep求快就等著被特定出來放黑名單啊 10/10 14:45
azuel: 自動化之後爬得慢也是背景再爬,存到db去要用再讀取就好 10/10 14:46
kakar0to: 我覺得好像不是ip被鎖 因為chrome可以連得上這個網址 10/10 14:52
aidansky0989: 看一下狀態碼 10/10 14:56
kakar0to: ('Connection aborted.', ConnectionResetError(10054, 10/10 14:57
kakar0to: '遠端主機已強制關閉一個現存的連線。', None, 10054, N 10/10 14:58
aidansky0989: 每次請求ip都隨機拿的並不會被黑單,就算被黑也無 10/10 14:58
aidansky0989: 所謂 10/10 14:58
kakar0to: one)) 10/10 14:58
kakar0to: 我現在程式只有一行 10/10 14:59
f496328mm: https://github.com/FinMind/FinMind 10/10 14:59
f496328mm: 分享我做的台股open data,有api可以直接call,發reque 10/10 14:59
f496328mm: st就好,不用再自己爬蟲 10/10 14:59
kakar0to: 感謝f大的資料庫 10/10 15:11
azuel: f大的資料庫很棒,連外國的也有整理,感謝 10/10 15:17
mickyang: 先用 tracert 指令測試 www.twse.com.tw 看看。 10/10 20:07
mickyang: 關掉 ipv6 試試看,中華電信固網 用 ipv6 連 twse 會不 10/10 20:10
mickyang: 穩定。 10/10 20:10
kakar0to: chrome可以成功執行這個網址 所以我覺得應該不是ip被擋 10/10 20:46
kakar0to: 的問題 10/10 20:46
kakar0to: 有人可以用python成功request我文章裡面的url網址嗎 10/10 20:47
azuel: 诶我試了一下,真的是chrome可以開但不能requests 10/10 22:40
azuel: 然後真的ipv6關掉之後就正常 10/10 22:40
azuel: mickyang大好神,這種情況要怎麼辨認出來呀? 10/10 22:42
azuel: 怎樣才能知道是ipv6造成這種問題的?真的誠心問 10/10 22:42
azuel: tracert下去看到有異狀但沒有想過改回ipv4會正常 10/10 22:44
azuel: 啟用ipv6之後在code裡面force ipv4也可以動 10/10 23:07
kakar0to: 感謝mickyang大 所以好像是chrome預設會用ipv4的樣子 10/11 11:27
kakar0to: 關掉ipv6問題就都解決了 超強 10/11 11:28
kakar0to: 我的爬蟲活過來了XD 10/11 11:31
kakar0to: mickyang已經把答案講出來了 我還在鬼打牆真的太蠢 10/11 11:33