台灣最大程式設計社群網站
線上人數
620
 
會員總數:245000
討論主題:188957
歡迎您免費加入會員
討論區列表 >> 心情甘苦談 >> 分享一個自己改的擷取FUNCTION
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
分享一個自己改的擷取FUNCTION
價值 : 0 QP  點閱數:1689 回應數:4

樓主

順子
初學者
636 79
2813 395
發送站內信

捐贈 VP 給 順子
Function GetWinHttp(URL, LoginString, action, decode, oXMLHTTP ,Host ,wait ,ProxyServer ,Async)

If Not IsObject(oXMLHTTP) Then
Set oXMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
End If

If Not ProxyServer = "" Then
oXMLHTTP.SetProxy 2, ProxyServer
End If
strUserAgentString = "http_requester/0.1"
oXMLHTTP.Open action, URL, Async
oXMLHTTP.Option(0) = strUserAgentString
oXMLHTTP.Option(4) = 13056
oXMLHTTP.Option(6) = true
oXMLHTTP.setRequestHeader "_target", "top"
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXMLHTTP.setRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
oXMLHTTP.setRequestHeader "Accept-Language", "zh-tw"
oXMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; FunWebProducts)"
oXMLHTTP.setRequestHeader "Content-Length", Len(LoginString)
oXMLHTTP.setRequestHeader "Cache-Control", "no-catche"
oXMLHTTP.setRequestHeader "Connection", "Close" 'Keep-Alive
oXMLHTTP.setRequestHeader "Host", Host
oXMLHTTP.setRequestHeader "referer", "http://" & Host

oXMLHTTP.Send (LoginString)

If Async = True Then
oXMLHTTP.WaitForResponse (wait)
TmpTimer = Timer
Do While Not oXMLHTTP.Status = 200
If int(abs(Timer - TmpTimer)) >= 1.5 Then
Exit do
end If
Loop

TmpTimer = Timer
Do While Not oXMLHTTP.statusText = "OK"
If abs(Timer - TmpTimer) >= 1.5 Then
Exit function
end If
Loop
End If

Set GetWinHttp = CreateObject("htmlfile")
GetWinHttp.open
GetWinHttp.Write Bytes2bStr(oXMLHTTP.responseBody, decode)
GetWinHttp.Close

End Function


用法...
set oHTML = GetWinHttp("http://ryctour.agenttour.com.tw/D000_Portal/D000_SE01_Tour.aspx" ,"","GET" ,"Big5" ,obj1 ,"ryctour.agenttour.com.tw" ,0,"" ,false)

可以很方便的讀取HTML TAG..
Response.write oHTML.body.innerHTML
Response.write getElementsByTagName("table")(0).width
Host = >> 偽裝 DOMAIN

不管好不好用... 就此分享給大家用吧~~ ^^"


本篇文章發表於2012-05-13 23:06
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

順子
捐贈 VP 給 順子 檢舉此回應
PS : 語法為ASP
如有需求... 就自己改成其他語法吧~ ^^
本篇文章回覆於2012-05-13 23:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

順子
捐贈 VP 給 順子 檢舉此回應
PS:
msxml2.xmlhttp.X.0 都無法偽裝網域... 因為微軟把功能上鎖了...
如果有遇到需要偽裝網域才能截取的網站...
這個應該可以幫助大家不少困難...
本篇文章回覆於2012-05-13 23:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

順子
捐贈 VP 給 順子 檢舉此回應
各位大大... 這個函數不管好不好...
都給我個回應評鑑好嗎?
謝謝囉~~
本篇文章回覆於2012-05-14 17:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小羊窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
寫的還不錯,給你個讚∼
(不過,因為你貼錯地方了,所以沒什麼人會注意到這個function)

本篇文章回覆於2012-05-15 01:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.