利用VB采集部分网页数据

sjh717142 2009-09-05 02:47:22
需要采集的页面是:http://ren.baidu.com/uquery/

我想把搜索出来的各用户的ID采集出来,该怎么做。分析了下它的网页源代码,好像是利用json_rs[i].username来保存的。

有示例代码的话就再好不过了
...全文
383 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
红色银狐 2012-05-12
  • 打赏
  • 举报
回复
用Firefox辅助得到隐藏地址有时候很方便
csorca 2011-04-07
  • 打赏
  • 举报
回复
用Firefox辅助得到隐藏地址有时候很方便
sjh717142 2011-04-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 northwolves 的回复:]

试试这个
VB code
Private Sub Command1_Click()
Dim url As String, p As Long, temp As String, i As Long, n As Long, v() As String
url = "http://ren.baidu.com/uquerys/?type=3&age_from=18&age_to=20……
[/Quote]

强!
无·法 2009-10-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 veron_04 的回复:]
新建一个新工程,加入一个 Internet Transfer Control、一个 CommandButton 及二个 TextBox!
Text1 用來输入要取取的网页位址,例如:http://www.microsoft.com/taiwan/support/products/vb.htm
Text2 用來输入要存文件的完整文件名,例如:c:\temp\temp.htm

VB codePrivateSub Command1_Click()Dim b()AsByte'取消所有操作Inet1.Cancel'设定协议为 HTTPInet1.Protocol= icHTTP'设定 URL 属性Inet1.URL= Text1.Text'将读取的 HTML 数据放进一个 byte array.b()= Inet1.OpenURL(, icByteArray)'建立一个暂存文件來存放取回來的 html 文件Open Text2.textFor Binary Access WriteAs #1
Put #1, , b()
Close #1End Sub
好了,就是这么简单,试看看吧!

[/Quote]
楼上估计没有测试,下载网页有很多方法,对于绝大多数静态或动态的都可以,但是有一部分是很特殊的,你直接访问是得不到数据的,所谓Ajax,只有像狼兄这样才行,查看代码加抓包。
贝隆 2009-10-04
  • 打赏
  • 举报
回复
新建一个新工程,加入一个 Internet Transfer Control、一个 CommandButton 及二个 TextBox!
Text1 用來输入要取取的网页位址,例如:http://www.microsoft.com/taiwan/support/products/vb.htm
Text2 用來输入要存文件的完整文件名,例如:c:\temp\temp.htm

 
Private Sub Command1_Click()
Dim b() As Byte
'取消所有操作
Inet1.Cancel
'设定协议为 HTTP
Inet1.Protocol = icHTTP
'设定 URL 属性
Inet1.URL = Text1.Text
'将读取的 HTML 数据放进一个 byte array.
b() = Inet1.OpenURL(, icByteArray)
'建立一个暂存文件來存放取回來的 html 文件
Open Text2.text For Binary Access Write As #1
Put #1, , b()
Close #1
End Sub

好了,就是这么简单,试看看吧!
贝隆 2009-10-03
  • 打赏
  • 举报
回复
狼兄很厉害哦
无·法 2009-10-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 northwolves 的回复:]
试试这个
VB codePrivateSub Command1_Click()Dim urlAsString, pAsLong, tempAsString, iAsLong, nAsLong, v()AsString
url="http://ren.baidu.com/uquerys/?type=3&age_from=18&age_to=20&pn="WithCreateObject("Msxml2.XMLHTTP")Do
p= p+1
.Open"GET", url& p,False
.send
temp= StrConv(.responsebody, vbUnicode,&H804)IfInStr(temp,"下一页")=0ThenExitDo
temp=Split(Split(temp,"s.src=")(2),"""")(1)
.Open"geT", temp,False
.send
v=Split(StrConv(.responsebody, vbUnicode,&H804),"username:")For i=1ToUBound(v)
n= n+1
Debug.Print n;Split(v(i),"""")(1)Next
Debug.PrintLoopEndWithEnd Sub
[/Quote]
northwolves 2009-10-01
  • 打赏
  • 举报
回复
试试这个
Private Sub Command1_Click()
Dim url As String, p As Long, temp As String, i As Long, n As Long, v() As String
url = "http://ren.baidu.com/uquerys/?type=3&age_from=18&age_to=20&pn="
With CreateObject("Msxml2.XMLHTTP")
Do
p = p + 1
.Open "GET", url & p, False
.send
temp = StrConv(.responsebody, vbUnicode, &H804)
If InStr(temp, "下一页") = 0 Then Exit Do
temp = Split(Split(temp, "s.src=")(2), """")(1)
.Open "geT", temp, False
.send
v = Split(StrConv(.responsebody, vbUnicode, &H804), "username: ")
For i = 1 To UBound(v)
n = n + 1
Debug.Print n; Split(v(i), """")(1)
Next
Debug.Print
Loop
End With
End Sub
sjh717142 2009-09-06
  • 打赏
  • 举报
回复
就是分析不来喔
孤独剑_LPZ 2009-09-05
  • 打赏
  • 举报
回复
2种方法,参考一下吧
http://topic.csdn.net/u/20090905/22/8c4632bd-d8d1-424f-b2ba-ba605b976f8a.html?61083
老纳要还俗鸟 2009-09-05
  • 打赏
  • 举报
回复
你把面面下载到保存到本地,你再从本地文件中分析

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧