Foxtable(狐表)用户栏目专家坐堂 → [求助]从网页上抓取数据


  共有17146人关注过本帖树形打印复制链接

主题:[求助]从网页上抓取数据

帅哥哟,离线,有人找我吗?
andu
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:1920 威望:0 精华:0 注册:2012/5/14 22:26:00
  发帖心情 Post By:2012/5/30 23:21:00 [只看该作者]

看不懂啊,代码怎么用?

 回到顶部
帅哥哟,离线,有人找我吗?
18956645511
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:59 积分:445 威望:0 精华:0 注册:2012/3/29 8:36:00
  发帖心情 Post By:2012/5/31 17:13:00 [只看该作者]

太牛逼了

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/28 15:03:00 [只看该作者]

以下是引用在2012-5-11 19:58:00的发言:


图片点击可在新窗口打开查看此主题相关图片如下:foxtable获取网页数据.png
图片点击可在新窗口打开查看

 

On Error Goto Qt
Dim ObjIE As Object, Dom As Object, r As Object, i As Long, j As Integer
ObjIE = CreateObject("Internetexplorer.Application")
StatusBar.Message1 = "正在查询网页信息,可能耗时较久,请耐心等待..."
StatusBar.Refresh
With ObjIE
    .Navigate("http://ball365.net/newo/mpk.html?ct=1317477534001") '网址
    Do Until .ReadyState = 4
        Application.DoEvents
    Loop
    Dom = .Document
End With
r = Dom.All.tags("table")(35).Rows
Dim TblName As String = Inputbox("请输入要创建的临时查询表的名称:","输入临时表名","查询结果")
If TblName = "" Then Goto Qt : Return Nothing
StatusBar.Message1 = "正在动态修改表结构..."
StatusBar.Refresh
Dim TblBld As New DataTableBuilder(TblName )
For i = 0 To r(0).Cells.Length
    TblBld.AddDef("列" & i + 1,Gettype(String),250)
Next
TblBld.Build
Dim Tbl As Table = Tables(TblName )
With Tbl
    If r.Length > .Rows.Count Then .Rows.AddNew(r.Length - .Rows.Count)
    Dim ColName As String
    For i = 0 To r.Length - 1
        For j = 0 To r(i).Cells.Length - 1
            ColName = .Cols(j).Name
            .Rows(i)(ColName) = r(i).Cells(j).innerText
        Next
    Next
End With
MainTable = Tbl
StatusBar.Message1 = "数据查询完成..."
StatusBar.Refresh
Msgbox("ok")
Qt:
If Err.Number > 0 Then Msgbox(Err.Number & vbCrlf & Err.Description)
StatusBar.Reset
ObjIE.Quit
ObjIE = Nothing
Dom = Nothing
r = Nothing

 

 

晕,我怎么没有看明白?哪位给指导一下!


 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/10/28 15:58:00 [只看该作者]

自己不明白不要紧,只要论坛中有牛逼的人即可以了,呵呵图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/28 16:41:00 [只看该作者]

哈,我在别的帖子里看到了飞大师今天的足迹!

 回到顶部
帅哥,在线噢!
lihe60
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6815 积分:43113 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/10/31 5:59:00 [只看该作者]

以下是引用在2012-5-11 19:58:00的发言:


图片点击可在新窗口打开查看此主题相关图片如下:foxtable获取网页数据.png
图片点击可在新窗口打开查看

 

On Error Goto Qt
Dim ObjIE As Object, Dom As Object, r As Object, i As Long, j As Integer
ObjIE = CreateObject("Internetexplorer.Application")
StatusBar.Message1 = "正在查询网页信息,可能耗时较久,请耐心等待..."
StatusBar.Refresh
With ObjIE
    .Navigate("http://ball365.net/newo/mpk.html?ct=1317477534001") '网址
    Do Until .ReadyState = 4
        Application.DoEvents
    Loop
    Dom = .Document
End With
r = Dom.All.tags("table")(35).Rows
Dim TblName As String = Inputbox("请输入要创建的临时查询表的名称:","输入临时表名","查询结果")
If TblName = "" Then Goto Qt : Return Nothing
StatusBar.Message1 = "正在动态修改表结构..."
StatusBar.Refresh
Dim TblBld As New DataTableBuilder(TblName )
For i = 0 To r(0).Cells.Length
    TblBld.AddDef("列" & i + 1,Gettype(String),250)
Next
TblBld.Build
Dim Tbl As Table = Tables(TblName )
With Tbl
    If r.Length > .Rows.Count Then .Rows.AddNew(r.Length - .Rows.Count)
    Dim ColName As String
    For i = 0 To r.Length - 1
        For j = 0 To r(i).Cells.Length - 1
            ColName = .Cols(j).Name
            .Rows(i)(ColName) = r(i).Cells(j).innerText
        Next
    Next
End With
MainTable = Tbl
StatusBar.Message1 = "数据查询完成..."
StatusBar.Refresh
Msgbox("ok")
Qt:
If Err.Number > 0 Then Msgbox(Err.Number & vbCrlf & Err.Description)
StatusBar.Reset
ObjIE.Quit
ObjIE = Nothing
Dom = Nothing
r = Nothing

调用这个代码,提示有错误。


 回到顶部
帅哥哟,离线,有人找我吗?
3547830
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:34 积分:323 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/3/5 11:11:00 [只看该作者]

提示91的错误


 回到顶部
帅哥哟,离线,有人找我吗?
test138
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:7215 威望:0 精华:0 注册:2013/5/9 11:19:00
  发帖心情 Post By:2016/6/9 18:37:00 [只看该作者]

提示错误:

 

编译错误:Sub或Set中的 "Return”语句不能返回值。  错误编码:If TblName = " " Then goto Qt: Return Nothing

[此贴子已经被作者于2016/6/9 18:41:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/10 19:23:00 [只看该作者]

以下是引用test138在2016/6/9 18:37:00的发言:

提示错误:

 

编译错误:Sub或Set中的 "Return”语句不能返回值。  错误编码:If TblName = " " Then goto Qt: Return Nothing

[此贴子已经被作者于2016/6/9 18:41:35编辑过]

 

贴出你写的代码。


 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/10/26 11:41:00 [只看该作者]

英中翻译过来后感觉很搞笑,昏暗的

On Error Goto Qt

昏暗的ObjIE作为对象,Dom对象,r为对象,我只要,j整数

ObjIE = CreateObject(“Internetexplorer.Application”)

状态栏。消息1 = "正在查询网页信息,可能耗时较久,请耐心等待……”

StatusBar.Refresh

与ObjIE

.Navigate(“http://ball365.net/newo/mpk.html?ct=1317477534001”)“网址

做之前。ReadyState = 4

Application.DoEvents

循环

Dom = .Document

结尾

r = Dom.All.tags(35).Rows(“表”)

昏暗的TblName字符串= Inputbox(“请输入要创建的临时查询表的名称:“,“输入临时表名”,“查询结果”)

如果TblName = " "然后Goto Qt:不返回任何内容

状态栏。消息1 = "正在动态修改表结构……”

StatusBar.Refresh

昏暗的TblBld新DataTableBuilder(TblName)

因为我对r = 0(0).Cells.Length

TblBld。AddDef(“列”& i + 1,方法(字符串),250)

下一个

TblBld.Build

昏暗的资源描述如表=表(TblName)

与台

如果r。> .Rows长度。计数然后.Rows.AddNew(r。长度- .Rows.Count)

昏暗的ColName作为字符串

我= 0 r。长度- 1

j = 0 r .Cells(我)。长度- 1

ColName = .Cols(j). name

.Rows(我)(ColName)= r(i).Cells .innerText(j)

下一个

下一个

结尾

MainTable =(资源

状态栏。消息1 = "数据查询完成……”

StatusBar.Refresh

对话框(“好”)

Qt:

如果犯错。> 0然后对话框(犯错。& vbCrlf & Err.Description数量)

StatusBar.Reset

ObjIE.Quit

ObjIE =什么

Dom =什么

r =什么

[此贴子已经被作者于2016/10/26 11:40:53编辑过]

 回到顶部
总数 21 上一页 1 2 3 下一页