VB如何获取网页的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB如何获取网页的内容相关的知识,希望对你有一定的参考价值。
先用个WebBrowser获得网页内容,然后分析网页中的数据,找到指定关键字。比如www.ip138.com首页上有:您的IP地址是:[XXX.XXX.XXX.XXX]。我想把”您的IP地址是:[” 和“ ]” 去掉,IP在text1中显示出来,怎么实现?
注:最好不要用网页源码分析的方法
相关代码如下:
1、相关代码如下:Public Function gethtmlStr(strUrl As String) \'获取远程网页源码
On Error Resume Next
Dim XmlHttp As Object, stime, ntime
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "GET", strUrl, True
XmlHttp.send
stime = Now \'获取当前时间
While XmlHttp.ReadyState <> 4
DoEvents
ntime = Now \'获取循环时间
If DateDiff("s", stime, ntime) > 3 Then getHtmlStr = "": Exit Function
Wend
getHtmlStr = StrConv(XmlHttp.responseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
2、代码使用:在窗体代码相应位置写如下代码
dim a as string
a=getHtmlStr("要获取的网站网址url")
上面a取得的值就是我们要的结果。 参考技术A vb6,新建一个工程粘贴以下代码,马上运行,一切OK!!!!!!
Private Sub Form_Load()
a = getHTTPPage("http://ip138.com/ip2city.asp")
b = Split(a, "[")(1)
c = Split(b, "]")(0)
MsgBox c
End Sub
Function getHTTPPage(url)
On Error Resume Next
Dim http
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
getHTTPPage = http.Send()
'MsgBox http.ReadyState
If http.ReadyState <> 4 Then
MsgBox "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set http = Nothing
End Function
Function BytesToBstr(body, Cset)
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
End Function本回答被提问者和网友采纳
Python中怎样获取一网页上的内容?我想通过python读取网页上的各个不同的单词和分别出现的次数
参考技术A 最简单的办法,不需要任何第三方库,获取网页源代码,进行正则匹配:import
urllib,re
url
=
"http://www.163.com"
#网页地址
wp
=
urllib.urlopen(url)
#打开连接
content
=
wp.read()
#获取页面内容
m
=
re.match(r"^你的单词$",
content)
len(m)
m就是匹配到所有单词的列表,len(m)就是该单词的个数了 参考技术B 你好
首先,浏览器显示给用户的内容完全是根据html源码来的、所以,你想获取的一切浏览器显示的内容,都是在html文件中存在的内容
统计页面上的单词,必然是要读html源文件的
可以使用urllib2库,以及re库来进行匹配查找,代码如下:
import
urllib2
import
re
word
=
'你想查找的单词'
urlfile
=
urllib2.urlopen('你要打开的网址内容,记住要带上协议前缀,比如http')
#以文件的形式打开一个网页
html
=
urlfile.read()
#从网页文件中读html
wordList
=
re.findall(re.compile(word),
html)
#正则findall
查找所有的单词
len(wordList)
#个数re模块记不太清,没试验、试试看,不行再追问
以上是关于VB如何获取网页的内容的主要内容,如果未能解决你的问题,请参考以下文章
用Webbrowser怎么实现获取网页内容并自动点击?(VB.NET)