有個網(wǎng)頁有很多的內容,,要讀取,!首先網(wǎng)頁上有很多標題,每個標題對應著相應的網(wǎng)頁,,要把這個相應的網(wǎng)頁內容讀出來,! 舉個例子吧!比如xxx.xxx.xxx.xx這是一個網(wǎng)頁,,這個網(wǎng)頁里只顯示標題,,如:1,xxxxxxx2,xxxxx3xxxx4xxxx有很多頁,,而每個標題又對應相應的網(wǎng)頁,,這個網(wǎng)頁里的內容要把它讀出來。要怎么做呢,?謝謝,! 這里有兩種方法,個人覺得第一種比較快,而且第二種字體總顯示亂碼,。 1,、利用inet控件 放一個Internet Transfer Control,一個按紐和兩個文本框在窗體上 text1用來輸入網(wǎng)址,,text2用來輸入暫存的文件名如c:\temp.htm 然后輸入以下代碼 Private Sub Command1_Click() Dim B() As Byte '取消所有操作 Inet1.Cancel '設定協(xié)議為HTTP Inet1.Protocol = icHTTP '設定URL屬性 Inet1.URL = Text1 '將讀取的HTML數(shù)據(jù)放進一個byte array B() = Inet1.OpenURL(, icByteArray) '建立一個暫存文件來存放取回來的html文件 Open Text2 For Binary Access Write As #1 Put #1, , B() Close #1 MsgBox "ok" End Sub 2,、利用webbrower控件 和上邊放一樣的控件,不過把inet改成webbrower控件(引用的時候選internet controls就可以了),,另外再加一個timer控件 然后加入以下代碼 Private Sub Command1_Click() WebBrowser1.Navigate Text1 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Dim Doc, ObjHtml As Object Dim StrHtml As String Dim B() As Byte If Not WebBrowser1.Busy Then Set Doc = WebBrowser1.Document Set ObjHtml = Doc.body.createtextrange() If Not IsNull(ObjHtml) Then B() = ObjHtml.htmltext Open "c:\temp.htm" For Binary Access Write As #1 Put #1, , B() Close #1 End If Timer1.Enabled = False MsgBox "ok" End If End Sub 朋友你好,,你現(xiàn)在會讀HTML了,但是現(xiàn)在要讀取指定標簽里的內容,,比如<p>中的,,你可以這樣: 放一個WebBrowser(引用部件的Microsoft Internet Controls) 然后復制下面的代碼: Private Sub Form_Load() WebBrowser1.Navigate2 "那個網(wǎng)頁的地址/文件地址" End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim doc As Object, i Set doc = WebBrowser1.Document For Each i In doc.getelementsbytagname("p") Text1.Text = Text1.Text & " " & i.innertext '得到所有p標簽元素;然后將內容(非HTML,,這樣過濾H5標簽)加入文本框 Next End Sub ========== 網(wǎng)頁源碼中部分內容如下: <tr bgcolor="#e7e7e7"> <td align="center">發(fā)布日期</td> <td align="center">期號</td> <td align="center">開獎號碼</td> <td align="center">詳情</td> </tr> <tr bgcolor="#FFFFFF"> <td> 2010-05-19</td> <td>10057</td> <td>15 17 24 32 35 + 07 09</td> 要求點擊按鈕自動獲取源碼,,并且在text1中顯示2010-05-19,在text2中顯示10057,,在text3中顯示15 17 24 32 35 07 09 這個代碼要怎么寫,? 需要添加Microsft Internet Transfer control 6.0部件 '程序例子 '取消所有操作 Inet1.Cancel '設定協(xié)議為 HTTP Inet1.Protocol = icHTTP '設定 URL 屬性 Inet1.URL = " http://www.baidu.com" '將讀取的 HTML 數(shù)據(jù)附給string1 string1 = " " string1 = Inet1.OpenURL MsgBox (string1) 以上是讀取源碼。 ?text1.text="2010-05-19" ?text2.text=10057 ?text3.text="15 17 24 32 35 07 09" |
|