- 帖子
- 15
- 主題
- 4
- 精華
- 0
- 積分
- 27
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- Win7
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2015-9-12
- 最後登錄
- 2016-2-15
|
上櫃 個股日成交資訊 抓取問題
Hi 各位大大中秋快樂
最近我利用假日想抓取 上櫃 個股日成交資訊,部分程式碼如下,執行之後,有時候會停在圖面紅框的地方,顯示無資料,但有的時候又可以跑出成交訊息
而這個地方的程式碼,我找不到搜尋的按鈕,所以copy GKEBB大大之前有一段的語法 A.Focus Application.SendKeys "~"
想請問各位先進,這一段我應該怎麼改進會比較好?
'------------------------------------------- 【上櫃公司】------------------------------------------------------
'------------------------- 尋找清單中有多少日期(月) 需要展收尋
Set monthrange = Sheets("清單").Range("D65536").End(xlUp) '表示尋找 A 欄的 stock 的最後一列
For searchmonthrange = 2 To monthrange.Row 'Stock 的執行範圍,從第 2 行開始執行,到最後一行
myyearwest = Sheets("清單").Cells(searchmonthrange, 3) '股價西元年
myyeareast = Sheets("清單").Cells(searchmonthrange, 3) - 1911 '股價民國年
mymonth = Sheets("清單").Cells(searchmonthrange, 4) '股價月
yearmonth = myyeareast & "/" & mymonth
'------------------------- 打開股票網頁
With CreateObject("InternetExplorer.Application") '開啟證券櫃臺買賣中心網頁
.Visible = True
.Navigate "http://www.tpex.org.tw/web/stock/aftertrading/daily_trading_info/st43.php?l=zh-tw"
Do While .Busy Or .readyState <> 4: DoEvents: Loop
With .document
'--------------------輸入要查詢的日期
For Each A In .getelementsbytagname("INPUT") '找原始碼有input參數
If A.Name = "input_date" Then A.Value = yearmonth
Next
'--------------------輸入要查詢的股票代碼
For Each A In .getelementsbytagname("INPUT") '找原始碼有input參數
If A.Name = "input_stock_code" Then A.Value = stockcode
Next
'--------------------輸入要查詢的股票代碼
For Each A In .getelementsbytagname("INPUT") '找原始碼有input參數
If A.ID = "input_stock_code" Then
A.Focus
Application.SendKeys "~"
End If
Next
End With
Application.Wait Now + #12:00:05 AM# '等待網頁下載資料 |
|