需要讀取別人的網站內容(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
%>
=================範例結束====================

arrow
arrow
    全站熱搜

    夜市 小霸王 發表在 痞客邦 留言(0) 人氣()