需要讀取別人的網站內容(HTML)並分析,參考了眾多網頁
不過中文的網頁讀取一直存在Encode的問題
有些網頁是Big-5,有些是UTF-8,轉碼問題就一直困擾我
用XML讀取UTF-8還好,讀取Big-5網頁就很糟糕了
花了幾天參考了一些網頁,用了一些方法
(請參考:http://evotalk.net/blog/2006/06/using-windows-script-to-get-web-page.html#
除了我一直在使用XML物件之外,原來還有IE物件可以用)
最後還是用XML,而轉碼的問題則是參考網頁獲得解決
(http://big5.webasp.net/article/5/4257.htm)
先使用responseBody接取文字內容,此時是內容是bytes
在用上述網址中的bytes2BSTR函數轉換成中文編碼
只能說,太好了,終於解決了
唯一的問題是:轉換過程需要一點時間
=================轉碼函數範例====================
<%
'----------------設定物件及網址----------------
dim XmlHttp
set XmlHttp = CreateObject("Microsoft.XMLHTTP")
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
XmlHttp.Open "GET", "你的網址", false
XmlHttp.Send
'-----------------讀取內容及分析,請注意使用:ResponseBody而非ResponseText
objXML = bytes2BSTR(XmlHttp.responseBody)
response.write "DATA:" & (objXML)
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
%>
=================範例結束====================
留言列表