假设有两台电脑A,B
我要实现在A上把网页抓取下来,然后把网页代码传到B显示出来
现在主要问题
1。怎样获得网页所有html代码,包括head,title,body,脚本等,当然这些东西都可以用document一个一个地得到,但是这样做太麻烦了,有没有更好的方法
2。怎么在把得到的代码在B电脑上用webbrowser控件中显示出来,当然也可以用body.innerhtml=显示内容实现,但是如果有很多标签,有没有更好的办法实现。
3。用ie控件实现我的功能会不会方便一些,因为我ie控件没有用过,给点建议谢谢!
我要实现在A上把网页抓取下来,然后把网页代码传到B显示出来
现在主要问题
1。怎样获得网页所有html代码,包括head,title,body,脚本等,当然这些东西都可以用document一个一个地得到,但是这样做太麻烦了,有没有更好的方法
2。怎么在把得到的代码在B电脑上用webbrowser控件中显示出来,当然也可以用body.innerhtml=显示内容实现,但是如果有很多标签,有没有更好的办法实现。
3。用ie控件实现我的功能会不会方便一些,因为我ie控件没有用过,给点建议谢谢!
http://msdn.microsoft.com/archive/en-us/samples/internet/browser/walkall/default.asp
Web 页的拆取往往失之笨拙,但Microsoft HTML 分析器可令其稍微好一些...
http://www.microsoft.com/china/msdn/Archives/workshop/scrape.asp
http://community.csdn.net/Expert/TopicView3.asp?id=4362986
delphi代码,改成vb应该没什么问题
用inet控件.
1.
代码:
Option ExplicitPrivate Sub Command1_Click()
Command1.Enabled = False
Dim bytData() As Byte
bytData() = Inet1.OpenURL("http://baidu.com", icByteArray)'''获取百度主页的源文件
Open "c:\text.txt" For Binary Access Write As #1''''将获取的主页保存起来.
Put #1, , bytData()
Close #1
MsgBox "下载完毕"
Command1.Enabled = True
End Sub2.Dim restring As String
Private Sub Command1_Click()
Me.Caption = "正在下载"
Inet1.Execute "http://baidu.com"
While Inet1.StillExecuting '在此方法执行期间挂起程序流程(Execute方法是异步执行的,所以必须暂时挂起其他操作以等待获取数据完毕)
DoEvents
Wend
End Sub Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim Stemp As String
If State = 12 Then
'请求完成,开始提取数据,使用GetChunk方法每次提取1024字节数据,循环直到数据提取完毕
Stemp = Inet1.GetChunk(1024)
While Stemp <> ""
restring = restring + Stemp
Stemp = Inet1.GetChunk(1024)
Wend
Inet1.Cancel
Open "c:\text.txt" For Output As #1
Print #1, restring
Close #1
Me.Caption = "已下载完成"
MsgBox "已下载完成"
End If
If State = 11 Then
Me.Caption = "无法连接服务器"
MsgBox "无法连接服务器"
End If
End Sub在VB6下通过测试