COCO研究院

 找回密碼
 註冊
搜索
查看: 4455|回復: 5

上市櫃 券商買賣日報表查詢系統 自動化下載 使用問題

[複製鏈接]
發表於 13-8-26 14:15 | 顯示全部樓層 |閱讀模式
由於原帖無法回覆,使用喧囂卡也無效,只好另開新帖回答。


使用上的問題:

1.        太早抓,像在下午三點多就開始抓,有些股票資料還沒更新,就會漏掉。
2.        太多人同一時間抓,證交所有流量管制,會回傳空資料或直接斷線。
3.        網路環境爛,latency太長。


解決方法(不用修改程式):
1.        用穩定的光纖、ADSL或Cable Modem網路,並在晚上八、九點以後抓。


解決方法(需要修改程式):
1.        改程式,加入連線失敗後重新連線程式。可以寫一個retry decorator將連線部份的程式包裝起來,在連線發生Exception時做backoff後重連。Google查詢"python retry decorator"可看到很多參考資料。
2.        如果剛好有wget可以用,可以將Exception->Backoff->Retry的工作offload給wget。在Python可以用
        subprocess.call(['wget', '-O', 'temp.html', '-nv', '-t', '120', '--waitretry=300', '-r', '-l', '1', '--no-parent', '--no-cache', '--post-data', postdata, link])

評分

參與人數 1金錢 +2 收起 理由
Sirius + 2 按一個讚

查看全部評分

發表於 13-8-27 11:57 | 顯示全部樓層
像這種程式,我都會做檢查
像我自己會設一個亂數,隨機暫停1~5秒
敢回傳給我其他資料?我會在程式裡面檢查下載後的檔案大小
回傳網頁byte過小時,會直接重新下載,載到你給我正確網頁為止
供參考
 樓主| 發表於 13-8-27 12:20 | 顯示全部樓層
在迴圈中隨機暫停1~5秒也是一個方法,不過有一種情況不適用:在2小時內想抓完20萬個小檔案。

這種情況可以先全速去抓,遇到Exception時再Backoff然後Retry。
全速抓的過程去檢查檔案byte過小也會拖累速度,一種方法是全抓完後,揪出bytes過小的檔案,再全速抓一次。這樣一直循環下去直到沒有bytes過小的檔案。
發表於 13-8-29 20:06 | 顯示全部樓層
請問大大
有關上市櫃 券商買賣日報表查詢系統 自動化下載
http://www.coco-in.net/forum.php ... 2&fromuid=12103
這篇文章哩,我安裝完成了,但卻不能下載完成,直下載到1742就停了,還有中間有些股票資料卻跳開沒下載下來,例如1101後就跳到1258,中間好幾檔都沒下載下來,請問是什麼原因呢??
 樓主| 發表於 13-8-29 20:18 | 顯示全部樓層
紅龍 發表於 13-8-29 20:06
請問大大
有關上市櫃 券商買賣日報表查詢系統 自動化下載
http://www.coco-in.net/forum.php ... 2&fromuid ...

請從1樓看到4樓,答案已經在裡面了,解決方法也在裡面。
發表於 13-8-30 01:52 | 顯示全部樓層
pythonist 大大,不好意思!因為我不會寫程式,對於你們所熱心提供的方法我真的看不懂,根本不知要從哪裡改???
你之前有寫第幾行要改,那我就知道怎麼改,但這次我就不會了!!!!對不起!!!!
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-2 19:02

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |