註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» [EXCEL VBA] 這網頁怎麼抓呢?
返回列表
下一主題
上一主題
發帖
[發問]
[EXCEL VBA] 這網頁怎麼抓呢?
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
1
#
跳轉到
»
發表於 2016-1-6 10:47
|
顯示全部帖子
回復
3#
Hunt01
onclick 後設定了一堆值,然後呼叫 ajax1
你要分析就要再去找網頁中的這個 ajax1 function的內容
它裡面會再向另一個網頁POST請求,post 參數來自剛剛設定那些值。
所以你要從
"document.fm_t05sr01_1.SEQ_NO.value='1';document.fm_t05sr01_1.SPOKE_TIME.value='114100';document.fm_t05sr01_1.SPOKE_DATE.value='20160105';document.fm_t05sr01_1.COMPANY_NAME.value='?E??';document.fm_t05sr01_1.COMPANY_ID.value='2317';document.fm_t05sr01_1.skey.value='2317201601051';document.fm_t05sr01_1.hhc_co_name.value='?E??';ajax1(this.form,'table01');"
這字串中提取出你要的參數,再用 xmlhttp 向另一個網頁POST請求,
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
2
#
發表於 2016-1-12 15:53
|
顯示全部帖子
本帖最後由 stillfish00 於 2016-1-12 16:05 編輯
回復
5#
Hunt01
by xmlhttp
Sub Test()
Dim oXmlhttp As Object: Set oXmlhttp = CreateObject("msxml2.xmlhttp")
Dim oRegexp As Object: Set oRegexp = CreateObject("vbscript.regexp")
Dim oHtmldoc As Object: Set oHtmldoc = CreateObject("htmlfile")
Dim oClip As Object: Set oClip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 'or DataObject
With oXmlhttp
.Open "GET", "http://mops.twse.com.tw/mops/web/t05sr01_1", False
.Send
oHtmldoc.write .responseText
End With
Dim oTable As Object, oRow As Object, sParse As String, sPost As String
Set oTable = oHtmldoc.getelementbyid("table01").getelementsbytagname("form")(1).getelementsbytagname("table")(0)
sParse = oTable.Rows(1).Cells(5).innerhtml '只取第一行詳細資料
With oRegexp
.Pattern = ".*?SEQ_NO\.value='(.*?)'" & _
".*?SPOKE_TIME\.value='(.*?)'" & _
".*?SPOKE_DATE\.value='(.*?)'" & _
".*?COMPANY_ID\.value='(.*?)'" & _
".*?skey\.value='(.*?)'.*"
sPost = .Replace(sParse, "encodeURIComponent=1&TYPEK=all&step=1&skey=$5&COMPANY_ID=$4&SPOKE_DATE=$3&SPOKE_TIME=$2&SEQ_NO=$1")
End With
With oXmlhttp
.Open "POST", "http://mops.twse.com.tw/mops/web/ajax_t05sr01_1", False
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.SetRequestHeader "Content-Length", Len(sPost)
.Send (sPost)
oHtmldoc.Close 'Set oHtmldoc = CreateObject("htmlfile")
oHtmldoc.write .responseText
End With
With oClip
.SetText oHtmldoc.body.innerhtml
.PutInClipboard
End With
Sheets.Add().PasteSpecial NoHTMLFormatting:=True
End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
靜思自在 :
犯錯出懺悔心,才能清淨無煩惱。
返回列表
下一主題
上一主題
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲