Imports System.Net
我们提供的服务有:做网站、网站建设、微信公众号开发、网站优化、网站认证、番禺ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的番禺网站制作公司
Imports System.IO
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim stream As IO.Stream = WebRequest.Create(UrlAdress).GetResponse().GetResponseStream()
'注意urladress为你上面的网页地址。
Dim sr As StreamReader = New StreamReader(stream, System.Text.Encoding.UTF8)
Label1.Text = Regex.Match(sr.ReadToEnd, "回答采纳率").ToString
'sr。readtoend读取网页流到末尾,即使用正则表达式从网页流中提取“回答采纳率”,赋值给Label1.Text ‘没有则为空
sr.Dispose() '关闭流
End Sub'要提取什么东西用正则表达式最好
End Class
已写好,经过测试,一个WEBBROWSER控件,一个LISTBOX控件,我也初学习VB.NET,共同进步
Public Class Form1
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
WebBrowser1.Visible = False
WebBrowser1.Navigate(";_fmw.i._0.c=_fmw.i._0.ca=_fmw.i._0.cat=_fmw.i._0.k=%B7%FE%D7%B0_fmw.i._0.t=_fmw.i._0.p=1_fmw.i._0.pa=20_fmw.i._0.u=_fmw.i._0.s=event_submit_do_search_2=true")
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim tmp As String
tmp = WebBrowser1.Document.Body.InnerHtml
Dim a() As String
a = Split(tmp, "群号:")
For i = 0 To UBound(a)
If Trim(Strings.Mid(a(i), 1, 6)) = "/SPAN" Then
tmp = Strings.Mid(a(i), Strings.InStr(a(i), "('") + 2, 20)
tmp = Strings.Mid(tmp, 1, Strings.InStr(tmp, "',''") - 1)
ListBox1.Items.Add(tmp)
End If
Next
End Sub
End Class
我前两天刚做过类似的事情,down了一个网站的产品库到数据库里。
第一步:把所有页面下载到本地
第二步:分析页面结构
第三步:通过正则表达式不断去掉没用的内容,找到规律做成2纬数组
第四步:当有二维数组的时候,就什么都有了。
你是要把连续多个空格,变换成只需要一个空格,那么:
do while Instr(tStr," ")0
tStr = Replace(tStr, " ", " ") '用一个空格,替换2个空格
loop
Public Function webCaptureContent(ByVal mWebsiteUrl As String, ByVal mWebsiteType As Boolean) As String
'启动一次具体的数据采集工作,返回采集到的HTML内容:要求必须输入带://的全地址数据
On Error Resume Next
Dim Str_WebContent As String = "请输入查找网站地址."
Dim wb As WebClient = New WebClient() '//创建一个WebClient实例
If mWebsiteUrl.IndexOf("://") 0 Then
'//获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。(可有可无)
wb.Credentials = CredentialCache.DefaultCredentials
'//从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
Dim pagedata As Object = wb.DownloadData(mWebsiteUrl)
'//转换字符
If mWebsiteType Then
Str_WebContent = Encoding.Default.GetString(pagedata)
Else
Str_WebContent = Encoding.UTF8.GetString(pagedata)
End If
End If
Return Str_WebContent '提取出来新闻内容,删除Body前后的多余内容,同时补充上该 Body标记,形成完整的内容 Str_WebContent '
End Function
用正则表达式吧,首先导入命名空间System.Text.RegularExpressions,用Webbrowser载入页面,使用vb.net的代码如下:
Dim iTable As String = WebBrowser1.Document.Body.InnerHtml
Dim str_xm1 As String = Regex.Match(Regex.Matches(iTable, "td.*?/td").Item(6).Value, ".*?").Value
这样str_xm1就是你要的内容。