VB.NET编程语言特点比较突出,它是一个真正的实现面向对象以及支持继承性的编程语言,其应用范围广泛,功能强大,帮助开发人员大大提高了编程效率。在调试VB.NET调用Microsoft.XMLHttp组件抓取网页时,遇到了抓取中文字符出现乱码,经测试若网页meta标签charset为utf-8的网页不会乱码,而charset为Gb2312的则会出现乱码,本文提供了一个完整的解决方法,希望对研究VB.NET抓取网页或者VB.NET实现采集功能的朋友有所帮助。
以下为VB.NET抓取网页的函数LobDotCn 注:url_Link为抓取的目标页面 IsGb2312为是否Gb2312字符
- Public Function LobDotCn(ByVal url_Link
As String, ByVal IsGb2312 As Boolean)- On Error Resume Next
- Dim XmlHttp As Object
- XmlHttp = CreateObject("Microsoft.XMLHttp")
- XmlHttp.Open("POST", url_Link, False)
- XmlHttp.Send()
- Dim WebContent As Object
- Dim Str_WebContent As String
- If IsGb2312 Then
- WebContent = XmlHttp.ResponseBody
- Str_WebContent = System.Text.Encoding.
Default.GetString(WebContent)- Else
- WebContent = XmlHttp.ResponseText
- Str_WebContent = WebContent.ToString
- End If
- XmlHttp = Nothing
- LobDotCn = Str_WebContent
- End Function
VB.NET抓取网页的调用方式 :
变量 = LobDotCn("http://www.lob.cn", True) '抓取 Gb2312网页
变量 = LobDotCn("此处填写网址", False) ' 抓取utf-8网页
【编辑推荐】