== Private Function GetHTML(URL$) As String Dim response$ Dim vData As Variant Inet1.Cancel response = Inet1.OpenURL(URL) If response <> "" Then Do vData = Inet1.GetChunk(1024, icString) DoEvents If Len(vData) Then response = response & vData
End If Loop While Len(vData) End If GetHTML = response End Function Private Sub List1_Click() Select Case List1.ListIndex Case 0 Text3.Text = " 厂" Case 1 Text3.Text = " 公司" Case 2 Text3.Text = " 进出口" End Select End SubPrivate Sub Command1_Click() Dim mystring Text5.Text = Text2.Text & Text3.Text Text1.Text = "http://www1.baidu.com/baidu?tn=baidu&ct=0&lm=0&bs=intitle:" & Text5.Text & "cl=3&f=10&word=intitle:" & Text5.Text RichTextBox1.Text = GetHTML(Text1.Text) RichTextBox1.SaveFile "c:\temp1.html", 1 WebBrowser1.Navigate2 "c:\temp1.html" End Sub Private Sub Form_Load() WebBrowser1.Navigate2 ("china.alibaba.com") End Sub 我这个是用来调用baidu 的引擎 来查 什么公司 什么厂 等等的希望对你能有点帮助至于怎么加数据库里面!我再写关键是你要提取什么样的数据-再把没有用的数据去掉 (webbrowser.document)里面可以实现然后写到数据库里面!要不你先给我个要求-我写下!
加一个webbrowser,listbox,command: 查询后根据当前页面的链接来取得链接地址: private sub command1_click() for i=1 to webbrowser1.document.links.length listbox1.additem webbrowser1.document.links(i).href next end sub
就是把下面的代码去掉? Private Sub List1_Click() Select Case List1.ListIndex Case 0 Text3.Text = " 厂" Case 1 Text3.Text = " 公司" Case 2 Text3.Text = " 进出口" End Select End Sub 请教请教
等我下! 你看看我的这个东东很麻烦的! Sub RecurseFr(HTMLDoc As HTMLDocument) If HTMLDoc Is Nothing Then ' Not an HTLM document Exit Sub End If Dim BODYElement As IHTMLElement Set BODYElement = HTMLDoc.body If BODYElement.tagName = "BODY" Then Dim ELEMENTCo As IHTMLElementCollection Set ELEMENTCo = HTMLDoc.links Dim Element As HTMLAnchorElement For Each Element In ELEMENTCo listlinks.AddItem (Element.href) Next End If Dim HTMLFrames As IHTMLFramesCollection2 Set HTMLFrames = HTMLDoc.frames Dim HTMLWnd As HTMLWindow2 For countFrames = 0 To HTMLFrames.length - 1 Set HTMLWnd = HTMLFrames(countFrames) Call RecurseFr(HTMLWnd.Document) Next Exit Sub MsgBox (Err.Description) End Sub Private Sub btnGetLinks_Click() On Error Resume Next Dim theControl As WebBrowser Set theControl = WebBrowser1 Dim HTMLDoc As HTMLDocument Set HTMLDoc = WebBrowser1.Document listlinks.Clear Call RecurseFr(HTMLDoc) End SubPrivate Sub btngoback_Click() WebBrowser1.GoBack End SubPrivate Sub btngofoward_Click() WebBrowser1.GoForward End SubPrivate Sub btnNavigate_Click() WebBrowser1.navigate (editNavURL) End SubPrivate Sub Form_Load() Dim DocEvents As HTMLDocument WebBrowser1.Navigate2 ("http://www.baidu.com") End Sub Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) Set DocEvents = Nothing listlinks.Clear editElement = "" editID = "" End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean) Select Case Command Case CSC_NAVIGATEBACK btngoback.Enabled = Enable Case CSC_NAVIGATEFORWARD btngoforward.Enabled = Enable End Select End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) On Error Resume Next If pDisp Is WebBrowser1.Object Then Set DocEvents = WebBrowser1.Document End If End Sub这是个不断抓links 的例子
您是对的。可是,可是,可是,对不会的人,差之毫厘,失之千里啊!
用msn来聊聊如何?[email protected]
谢谢了!
To: wangtao301301301(涛大)大侠:
喔要找找,再放上来。
Private Function GetHTML(URL$) As String
Dim response$
Dim vData As Variant Inet1.Cancel
response = Inet1.OpenURL(URL)
If response <> "" Then
Do
vData = Inet1.GetChunk(1024, icString)
DoEvents
If Len(vData) Then
response = response & vData
End If
Loop While Len(vData)
End If GetHTML = response
End Function
Private Sub List1_Click()
Select Case List1.ListIndex
Case 0
Text3.Text = " 厂"
Case 1
Text3.Text = " 公司"
Case 2
Text3.Text = " 进出口"
End Select
End SubPrivate Sub Command1_Click()
Dim mystring
Text5.Text = Text2.Text & Text3.Text
Text1.Text = "http://www1.baidu.com/baidu?tn=baidu&ct=0&lm=0&bs=intitle:" & Text5.Text & "cl=3&f=10&word=intitle:" & Text5.Text
RichTextBox1.Text = GetHTML(Text1.Text)
RichTextBox1.SaveFile "c:\temp1.html", 1
WebBrowser1.Navigate2 "c:\temp1.html"
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate2 ("china.alibaba.com")
End Sub
我这个是用来调用baidu 的引擎 来查 什么公司 什么厂 等等的希望对你能有点帮助至于怎么加数据库里面!我再写关键是你要提取什么样的数据-再把没有用的数据去掉
(webbrowser.document)里面可以实现然后写到数据库里面!要不你先给我个要求-我写下!
致敬!
谢谢先!
我给您个要求,但怎么给您?
能不能留下个email?谢谢了!
我的msn是:[email protected]
sorry,我用您上面的代码,出现点问题。
我是在标准的窗体上加了:5个文本框,分别为text1,text2,text3,text4,text5;
1个webbrowser,为webbrowser1;
1个internet controls,为inet1;
1个rich textbox,为richtextbox1;
1个command,为command1
然后copy上面的代码进去。但run后,点击command1控件,就除了问题。是不是漏了点代码或者设置?
谢谢解答!
查询后根据当前页面的链接来取得链接地址:
private sub command1_click()
for i=1 to webbrowser1.document.links.length
listbox1.additem webbrowser1.document.links(i).href
next
end sub
我按您的代码copy进去,run,报错:实时错误:“424”
要求对象在listbox1.addiem webbrowser1.document.links(i).href行出错再一次请教!
Private Sub List1_Click()
Select Case List1.ListIndex
Case 0
Text3.Text = " 厂"
Case 1
Text3.Text = " 公司"
Case 2
Text3.Text = " 进出口"
End Select
End Sub
请教请教
用msn聊天如何?
谢谢!
1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 请教:如何进行导航?使编码能自己知道有多少页,并一页一页地去查询、采集?
(webbrowser.document)里面可以实现”
能不能介绍一下这个东东怎么取得那些数据?
谢谢了!
Sub RecurseFr(HTMLDoc As HTMLDocument) If HTMLDoc Is Nothing Then
' Not an HTLM document
Exit Sub
End If
Dim BODYElement As IHTMLElement
Set BODYElement = HTMLDoc.body
If BODYElement.tagName = "BODY" Then
Dim ELEMENTCo As IHTMLElementCollection
Set ELEMENTCo = HTMLDoc.links
Dim Element As HTMLAnchorElement
For Each Element In ELEMENTCo
listlinks.AddItem (Element.href)
Next
End If
Dim HTMLFrames As IHTMLFramesCollection2
Set HTMLFrames = HTMLDoc.frames
Dim HTMLWnd As HTMLWindow2
For countFrames = 0 To HTMLFrames.length - 1
Set HTMLWnd = HTMLFrames(countFrames)
Call RecurseFr(HTMLWnd.Document)
Next
Exit Sub
MsgBox (Err.Description)
End Sub
Private Sub btnGetLinks_Click()
On Error Resume Next
Dim theControl As WebBrowser
Set theControl = WebBrowser1
Dim HTMLDoc As HTMLDocument
Set HTMLDoc = WebBrowser1.Document
listlinks.Clear
Call RecurseFr(HTMLDoc)
End SubPrivate Sub btngoback_Click()
WebBrowser1.GoBack
End SubPrivate Sub btngofoward_Click()
WebBrowser1.GoForward
End SubPrivate Sub btnNavigate_Click()
WebBrowser1.navigate (editNavURL)
End SubPrivate Sub Form_Load()
Dim DocEvents As HTMLDocument
WebBrowser1.Navigate2 ("http://www.baidu.com")
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
Set DocEvents = Nothing
listlinks.Clear
editElement = ""
editID = ""
End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
Select Case Command
Case CSC_NAVIGATEBACK
btngoback.Enabled = Enable
Case CSC_NAVIGATEFORWARD
btngoforward.Enabled = Enable
End Select
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
If pDisp Is WebBrowser1.Object Then
Set DocEvents = WebBrowser1.Document
End If
End Sub这是个不断抓links 的例子
sorry,我把上面这段代码和前面的代码放到一起,老是报错,不知还要进行什么设置?
请教!
能不能到msn?
[email protected]
好吧,我发给你---但你的email没给我哦--哦哦