Foxtable(狐表)用户栏目专家坐堂 → [求助]求高手帮我写个抓取网页数据的代码


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

主题:[求助]求高手帮我写个抓取网页数据的代码

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
[求助]求高手帮我写个抓取网页数据的代码  发帖心情 Post By:2017/11/6 13:42:00 [显示全部帖子]

http://cx.cqjsxx.com:8010/CX_SGQYMRPM2.aspx
重庆企业诚信分的网页,求高手帮我写个抓取网页的数据的代码

1、我想建立一张表,表里有企业名称和查询的时间,我希望我能循环抓取表里所有企业在某天的诚信分


求高手帮我写个抓取网页数据的代码,论坛的帖子研究半天没研究出来。。。。

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 14:41:00 [显示全部帖子]

没任何反映。。。。

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 14:49:00 [显示全部帖子]

可以了。。。没看到是output.show....

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 15:45:00 [显示全部帖子]

甜大大 麻烦帮忙在写下  如何自动模拟下一页 再读取数据
我参考论坛里的
Dim web = Forms("窗口1").controls("webbrowser1").basecontrol
Dim count = web.Document.GetElementById("planContent").GetElementsByTagName("span")(0).InnerText
msgbox(count)
For k As Integer = 1 To Math.Ceiling(count / 10)
    Dim tb = web.Document.GetElementById("tableContent")
    Dim trs = tb.GetElementsByTagName("tr")   '根据标签得到数据集合
    For i As Integer = 1 To trs.count-1
        output.show(trs(i).InnerText)
        Dim tds = trs(i).GetElementsByTagName("td")
        For j As Integer = 0 To tds.count-1
            output.show(tds(j).InnerText)
        Next
    Next
    Do Until web.Document.GetElementById("mypagination1") IsNot Nothing
        Application.DoEvents
    Loop
    Dim pgs = web.Document.GetElementById("mypagination1")
    For Each pg As object In pgs.GetElementsByTagName("a")
        If pg.InnerText = "下一页" Then
            pg.InvokeMember("click")
            Exit For
        End If
    Next
Next

一个是count代表什么  没猜明白,二是下一页所在的区域没有id。。。就不知道怎么去获取下一页再模拟单击了。。

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 16:30:00 [显示全部帖子]

大概读懂了,我想用dim str as string = web.Document.GetElementsByTagName("GV_SGPM_ctl15_LabelRecordCount").innerHTML 去获取3847这个数据,结果不支持innerHTML

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 17:21:00 [显示全部帖子]

甜大大   我又有个需求,我要在企业名称的文本框里自动填入当前行的企业名称进去,然后查询,然后下载数据到本地

这个向网页填写数据,改怎么做


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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/6 22:56:00 [显示全部帖子]

不行啊    查询不起作用,得到的数据还是13条 不是查询的那个公司

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/7 9:29:00 [显示全部帖子]

真不会测试,麻烦甜大大了。。。

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/7 9:34:00 [显示全部帖子]

html正在学,还没接触到你写的代码这种深度,目前只会编编新闻和css

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/11/7 10:07:00 [显示全部帖子]

Dim btn = web.Document.GetElementById("GV_SGPM_ctl16_LinkButtonNextPage")
    btn.InvokeMember("click")
    
    Dim ok As Boolean = False
    Do Until web.ReadyState = 4 AndAlso ok
        Application.DoEvents
        For Each sp As object In web.Document.GetElementsByTagName("span")
            If sp.id IsNot Nothing
                If sp.id.contains("LabelCurrentPage") Then
                    If sp.InnerText.split(" ")(1) <> i Then
                        ok = True
                        Exit For
                    Else
                        Application.DoEvents
                        Exit For
                    End If
                End If
            End If
        Next
    Loop

说实话 我没看懂7楼下半部分模拟点击下一页的代码,这段代码里的Ok是什么作用?
代码里面刚刚定义了ok = false   下面马上用ok作为判断,ok的值不论在下面的判断中赋值成true还是false 都没有意义啊。。。没看懂。。。

 回到顶部
总数 11 1 2 下一页