heavenweaver 發表於 14-3-22 00:36

求證交所民國101年5月前三大法人買賣超日報

證交所首頁 > 交易資訊 > 三大法人 > 三大法人買賣超日報
http://www.twse.com.tw/ch/trading/fund/T86/T86.php
本資訊自民國101年5月2日起開始提供

懇求大大能提供證交所民國101年5月前三大法人買賣超日報

acerman 發表於 14-3-22 05:47

本帖最後由 acerman 於 14-3-22 05:53 編輯

左側選單下幾列有"各別法人"的日報,時間從 89 年開始

heavenweaver 發表於 14-3-22 14:50

acerman 發表於 14-3-22 05:47 static/image/common/back.gif
左側選單下幾列有"各別法人"的日報,時間從 89 年開始

謝謝您提供的資料,我還真的腦筋一時糊塗沒轉過來。

pythonist 發表於 14-3-22 20:49


http://www.coco-in.net/thread-22758-1-1.html
6樓

heavenweaver 發表於 14-3-22 23:37

pythonist 發表於 14-3-22 20:49 static/image/common/back.gif
http://www.coco-in.net/thread-22758-1-1.html
6樓

我已經寫好AutoIT完成下載了(自2006/02/20起),後來又仔細看到您有上傳python程式碼貼圖,直接把T86程式碼應用在T38U、T43U及T44U都測試OK,感謝您!

另外說來慚愧,您的上市買賣日報表查詢系統 bshtm_brokerBS 的python程式,我到昨天才搞定(只是增加一個指定買賣日期為存檔目錄而已),還沒加自動用7z壓縮及完成壓縮後刪除存檔的動作。


附加說明
#T38U: 外資及陸資買賣超彙總表,自民國93年12月17日起開始提供
#http://www.twse.com.tw/ch/trading/fund/TWT38U/TWT38U_print.php?edition=ch&filename=genpage/B20041217.dat&type=csv
#T43U: 自營商買賣超彙總表,自民國93年12月17日起開始提供
#http://www.twse.com.tw/ch/trading/fund/TWT43U/TWT43U_print.php?edition=ch&filename=genpage/B20041217.dat&type=csv
#T44U: 投信買賣超彙總表,自民國93年12月17日起開始提供(實際為95/02/20)
#http://www.twse.com.tw/ch/trading/fund/TWT44U/TWT44U_print.php?edition=ch&filename=genpage/B20060220.dat&type=csv

pythonist 發表於 14-3-23 10:49



http://www.coco-in.net/thread-32115-1-1.html

pythonist 發表於 14-3-23 11:07

#T38U: 外資及陸資買賣超彙總表,證交所從民國93年12月17日起開始提供TXT/HTML/CSV三種格式檔案下載,民國89年8月7日至93年12月16日只提供網頁形式。

#T43U: 自營商買賣超彙總表,證交所從民國93年12月17日起開始提供HTML/CSV兩種格式檔案下載,民國89年12月7日至93年12月16日只提供網頁形式。

#T44U: 投信買賣超彙總表,證交所從民國93年12月17日起開始提供HTML/CSV兩種格式檔案下載,民國89年8月7日(實際為89年12月7日)至93年12月16日只提供網頁形式。

證交所沒有提供CSV格式的資料,其實還是可以寫程式parse html -> convert to CSV。

heavenweaver 發表於 14-3-23 23:01

pythonist 發表於 14-3-23 11:07 static/image/common/back.gif
#T38U: 外資及陸資買賣超彙總表,證交所從民國93年12月17日起開始提供TXT/HTML/CSV三種格式檔案下載,民國8 ...

謝謝,可惜我不懂 pythonre,不知道對應 re.compile的 pattern如何寫?
證券代號        證券名稱          買進股數        賣出股數                買賣超股數
2303       聯電          11,422,000          2,218,000          9,204,000

<tr><th><font size="2" class="AS12">證券代號</font></th>
<th><font size="2" class="AS12">證券名稱</font></th>
<th><font size="2" class="AS12">買進股數</font></th>
<th><font size="2" class="AS12">賣出股數</font></th>
<th><font size="2" class="AS12">買賣超股數</font></th></tr>


<tr><td class="AS2"><font size="2" class="AS21">2303</font></td>
<td class="AS2"><font size="2" class="AS21"> 聯電</font></td>
<td align="right"><font size="2" class="AS22">11,422,000</font></td>
<td align="right"><font size="2" class="AS22">   2,218,000</font></td>
<td align="right"><font size="2" class="AS22">   9,204,000</font></td></tr>

<tr><td class="AS2"><font size="2" class="AS21">1216</font></td>
<td class="AS2"><font size="2" class="AS21"> 統一</font></td>
<td align="right"><font size="2" class="AS22">   7,296,000</font></td>
<td align="right"><font size="2" class="AS22">   449,000</font></td>
<td align="right"><font size="2" class="AS22">   6,847,000</font></td></tr>

pythonist 發表於 14-3-24 00:18

(1)簡單一點的html用re就可以輕鬆轉成csv,如
http://www.coco-in.net/thread-22758-1-1.html        3樓和9樓

(2)複雜一點的html可以用lxml或BeautifulSoup轉成csv,如
http://www.coco-in.net/thread-19432-1-1.html        1樓

(3)或者利用


http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST_print.php?language=ch&save=csv


用POST方式提交html="<table>............</table>",只要提交的html字串符合某種格式,上述網址就會轉出csv。

heavenweaver 發表於 14-3-24 23:12

pythonist 發表於 14-3-24 00:18 static/image/common/back.gif
(1)簡單一點的html用re就可以輕鬆轉成csv,如
http://www.coco-in.net/thread-22758-1-1.html        3樓和9樓



謝謝您提供的資訊,我所碰到的問題原來不是 re 的 pattern設的不對,而是讀進來的資料是一條龍,所以在還沒使用 re 以前,先將一條龍以 Replace 來增加 New Line "\n" 就搞定了,果然抓資料比 AutoIt 使用 IE.au3要快的太多了。

heavenweaver 發表於 14-3-25 12:34

pythonist 發表於 14-3-24 00:18 static/image/common/back.gif
(1)簡單一點的html用re就可以輕鬆轉成csv,如
http://www.coco-in.net/thread-22758-1-1.html        3樓和9樓



引用您的話:
------------------------
(2)複雜一點的html可以用lxml或BeautifulSoup轉成csv,如
http://www.coco-in.net/thread-19432-1-1.html      1樓
-------------------------
您那篇大作堪稱經典之作,一直是當我學py的入門磚。
感謝之餘,特別以 http://lxml.de/api/index.html內容作一個 lxml.chm獻給您及同好參考之用。

pythonist 發表於 14-3-25 21:19

延續9樓的討論,如果不想自己parse html to csv,可以借助證交所的兩個網址

http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST_print.php?language=ch&save=csv
http://www.twse.com.tw/ch/trading/exchange/TWT93U/TWT93U_print.php?language=ch&save=csv

用POST方式提交html="<table>............</table>",只要提交的html字串符合某種格式,上述網址就會轉出csv。
格式大概是(div可有可無)
<table ......>
        <tr ......><td ......><div ......>text</div></td></tr>
        <tr ......>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
        </tr>
        <tr ......>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
                <td ......>text</td>
        </tr>
</table>
以投信買賣超彙總表        http://www.twse.com.tw/ch/trading/fund/TWT44U/TWT44U.php        為例,程式如下:


結果就是        http://www.coco-in.net/thread-32115-1-1.html        1樓的        TWT44U-20001207-20131231.7z        裡的        20001207至20041216        部份

heavenweaver 發表於 14-3-26 00:55

pythonist 發表於 14-3-25 21:19 static/image/common/back.gif
延續9樓的討論,如果不想自己parse html to csv,可以借助證交所的兩個網址

http://www.twse.com.tw/ch/tr ...

感謝您提供這麼詳盡的說明,老實說第9樓的(3)我真沒看懂,有你的後續說明才知道原來是讀進來後經過包裝及編碼,再post給那兩個網址輸出 CSV。曾看過TWSE的網頁是透過java來輸出csv table,沒想到python也可以透過網頁現有的功能來自行輸出CSV,真是佩服您!

頁: [1]
查看完整版本: 求證交所民國101年5月前三大法人買賣超日報