Public Function webCaptureContent(ByVal mWebsiteUrl As String, ByVal mWebsiteType As Boolean) As String
創(chuàng)新互聯(lián)建站專(zhuān)注于網(wǎng)站建設(shè)|網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都小攪拌車(chē)等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷(xiāo)售的產(chǎn)品,結(jié)合品牌形象的塑造,量身建設(shè)品質(zhì)網(wǎng)站。
'啟動(dòng)一次具體的數(shù)據(jù)采集工作,返回采集到的HTML內(nèi)容:要求必須輸入帶://的全地址數(shù)據(jù)
On Error Resume Next
Dim Str_WebContent As String = "請(qǐng)輸入查找網(wǎng)站地址."
Dim wb As WebClient = New WebClient() '//創(chuàng)建一個(gè)WebClient實(shí)例
If mWebsiteUrl.IndexOf("://") 0 Then
'//獲取或設(shè)置用于對(duì)向 Internet 資源的請(qǐng)求進(jìn)行身份驗(yàn)證的網(wǎng)絡(luò)憑據(jù)。(可有可無(wú))
wb.Credentials = CredentialCache.DefaultCredentials
'//從資源下載數(shù)據(jù)并返回字節(jié)數(shù)組。(加@是因?yàn)榫W(wǎng)址中間有"/"符號(hào))
Dim pagedata As Object = wb.DownloadData(mWebsiteUrl)
'//轉(zhuǎn)換字符
If mWebsiteType Then
Str_WebContent = Encoding.Default.GetString(pagedata)
Else
Str_WebContent = Encoding.UTF8.GetString(pagedata)
End If
End If
Return Str_WebContent '提取出來(lái)新聞內(nèi)容,刪除Body前后的多余內(nèi)容,同時(shí)補(bǔ)充上該 Body標(biāo)記,形成完整的內(nèi)容 Str_WebContent '
End Function
使用webbrowser控件來(lái)加載網(wǎng)頁(yè),然后再
Private
Sub
WebBrowser
1_DocumentCompleted下通過(guò)使用WebBrowser1.Document.Body.
InnerHtml
來(lái)獲取網(wǎng)頁(yè)的源代碼,或使用
WebBrowser1.Document.Body.InnerText來(lái)獲取網(wǎng)頁(yè)中的文本。之后可以通過(guò)字符串控制指令或者
正則表達(dá)式
來(lái)精確獲取到你所需的數(shù)據(jù)。
這個(gè)用到庫(kù)的問(wèn)題(是matlab庫(kù))
開(kāi)頭:
#include mex.h/*這個(gè)matlab自己的也是必須的*/
庫(kù)函數(shù)(4個(gè)參數(shù))//名字忘了太長(zhǎng)了
{
//自己的程序;
}
我前兩天剛做過(guò)類(lèi)似的事情,down了一個(gè)網(wǎng)站的產(chǎn)品庫(kù)到數(shù)據(jù)庫(kù)里。
第一步:把所有頁(yè)面下載到本地
第二步:分析頁(yè)面結(jié)構(gòu)
第三步:通過(guò)正則表達(dá)式不斷去掉沒(méi)用的內(nèi)容,找到規(guī)律做成2緯數(shù)組
第四步:當(dāng)有二維數(shù)組的時(shí)候,就什么都有了。
Imports System.Net
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為你上面的網(wǎng)頁(yè)地址。
Dim sr As StreamReader = New StreamReader(stream, System.Text.Encoding.UTF8)
Label1.Text = Regex.Match(sr.ReadToEnd, "回答采納率").ToString
'sr。readtoend讀取網(wǎng)頁(yè)流到末尾,即使用正則表達(dá)式從網(wǎng)頁(yè)流中提取“回答采納率”,賦值給Label1.Text ‘沒(méi)有則為空
sr.Dispose() '關(guān)閉流
End Sub'要提取什么東西用正則表達(dá)式最好
End Class