Foxtable(狐表)用户栏目专家坐堂 → 数据下载


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

主题:数据下载

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/12 14:49:00 [只看该作者]

Dim startDate As Date = "2018-4-12"
Dim endDate As Date = "2018-4-12"

Dim dtb1 As New DataTableBuilder("数据下载日期表")
dtb1.AddDef("日期", Gettype(Date))
dtb1.AddDef("下载", Gettype( Boolean  ))
dtb1.Build()

Dim d As Date = startDate
Do While d <= endDate
    Dim nr = Tables("数据下载日期表").addnew
    nr("日期")= d
    d = d.AddDays(1)
Loop

Dim dtb2 As New DataTableBuilder("老时时彩")
dtb2.AddDef("日期", Gettype(Date))
dtb2.AddDef("期号", Gettype(String), 32)
dtb2.AddDef("开奖号", Gettype(String), 32)
dtb2.AddDef("十位", Gettype(String), 32)
dtb2.AddDef("个位", Gettype(String), 32)
dtb2.AddDef("后三", Gettype(String), 32)
dtb2.Build()
MainTable= Tables("老时时彩")

Dim rw As Row
Dim web As new System.Windows.Forms.WebBrowser
For Each rw In Tables("数据下载日期表").Rows
    If rw("下载")=False Then
        StartDate = rw("日期")
        Dim y0 As String = StartDate.Year
        Dim m0 As String = StartDate.Month
        If m0.Length = 1 Then
            m0.PadLeft(2,"0")
        End If
        Dim d0 As String = StartDate.Day
        If d0.Length = 1 Then
            d0.PadLeft(2,"0")
        End If
        Dim str As String = y0 & "-" & m0 & "-" & d0 & "_" & y0 & "-" & m0 & "-" & d0
        str = "http://chart.cp.360.cn/kaijiang/kaijiang?lotId=255401&spanType=2&span=" & str
       
       
        web.Navigate(str)
        Do Until web.ReadyState = 4
            Application.DoEvents
        Loop
        Dim i As Integer = 0
        For Each dl As object In web.Document.GetElementById("his-tab").GetElementsByTagName("table")
            If dl.getattribute("classname") Like "tr-odd*" Then
                For Each tr As object In dl.GetElementsByTagName("tr")
                    Dim tds = tr.GetElementsByTagName("td")
                    If tds.count >= 5 AndAlso tds(0).Innertext > "" Then
                        Dim ndr As DataRow = DataTables("老时时彩").addnew
                        ndr("日期") = startDate
                        ndr("期号") = tds(0).innertext
                        ndr("开奖号") = tds(1).innertext
                    End If
                Next
            End If
           
        Next
       
       
    End If
Next


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


加好友 发短信
等级:幼狐 帖子:74 积分:679 威望:0 精华:0 注册:2018/4/11 7:22:00
  发帖心情 Post By:2018/4/12 22:50:00 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看谢谢

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


加好友 发短信
等级:幼狐 帖子:74 积分:679 威望:0 精华:0 注册:2018/4/11 7:22:00
  发帖心情 Post By:2018/4/13 13:22:00 [只看该作者]

甜老师,如果要实现实时抓取数据(就是网页一有新数据就马上下载到表)可以实现吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/13 14:45:00 [只看该作者]

以下是引用yei在2018/4/13 13:22:00的发言:
甜老师,如果要实现实时抓取数据(就是网页一有新数据就马上下载到表)可以实现吗?

 

做一个定时器,定时抓取 http://www.foxtable.com/webhelp/scr/0657.htm

 


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


加好友 发短信
等级:幼狐 帖子:74 积分:679 威望:0 精华:0 注册:2018/4/11 7:22:00
  发帖心情 Post By:2018/4/14 13:07:00 [只看该作者]

甜老师 ,当天的数据没满120条好像下载不正常,这个时段下载不能把已有数据下载全,但下载昨天的就没问题。

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


加好友 发短信
等级:超级版主 帖子:106763 积分:543016 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/14 14:46:00 [只看该作者]

都没有开奖,哪来的数据?

1、每几十分钟刷新重新获取
2、今天获取昨天的

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


加好友 发短信
等级:幼狐 帖子:74 积分:679 威望:0 精华:0 注册:2018/4/11 7:22:00
  发帖心情 Post By:2018/4/14 22:34:00 [只看该作者]

刷新重新获取还是不行,今天到这个时段网页有100条数据了,可就是抓取不了,才抓取了几条数据。老师再帮我想想办法,谢谢了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 11:34:00 [只看该作者]

以下是引用yei在2018/4/14 22:34:00的发言:
刷新重新获取还是不行,今天到这个时段网页有100条数据了,可就是抓取不了,才抓取了几条数据。老师再帮我想想办法,谢谢了

 

代码不会有问题的,如果获取不正常,试试代码改成这样

 

str = "http://chart.cp.360.cn/kaijiang/kaijiang?lotId=255401&spanType=2&span=" & str & "&key=" & Rand.Next(100000)

 

如果还有问题,我今晚再测试。


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


加好友 发短信
等级:幼狐 帖子:74 积分:679 威望:0 精华:0 注册:2018/4/11 7:22:00
  发帖心情 Post By:2018/4/15 13:05:00 [只看该作者]

试了新代码还是下不全,老师辛苦了,万分感谢!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 15:55:00 [只看该作者]

改成

 

Dim startDate As Date = "2018-4-12"
Dim endDate As Date = "2018-4-12"
Dim dtb1 As New DataTableBuilder("数据下载日期表")
dtb1.AddDef("日期", Gettype(Date))
dtb1.AddDef("下载", Gettype( Boolean  ))
dtb1.Build()

Dim d As Date = startDate
Do While d <= endDate
    Dim nr = Tables("数据下载日期表").addnew
    nr("日期")= d
    d = d.AddDays(1)
Loop

Dim dtb2 As New DataTableBuilder("老时时彩")
dtb2.AddDef("日期", Gettype(Date))
dtb2.AddDef("期号", Gettype(String), 32)
dtb2.AddDef("开奖号", Gettype(String), 32)
dtb2.AddDef("十位", Gettype(String), 32)
dtb2.AddDef("个位", Gettype(String), 32)
dtb2.AddDef("后三", Gettype(String), 32)
dtb2.Build()
MainTable= Tables("老时时彩")

Dim rw As Row
Dim web As new System.Windows.Forms.WebBrowser
For Each rw In Tables("数据下载日期表").Rows
    If rw("下载")=False Then
        StartDate = rw("日期")
        Dim str As String = Format(startDate, "yyyy-MM-dd_yyyy-MM-dd")
        str = "http://chart.cp.360.cn/kaijiang/kaijiang?lotId=255401&spanType=2&span=" & str

               
        web.Navigate(str)
        Do Until web.ReadyState = 4
            Application.DoEvents
        Loop
        Dim i As Integer = 0
        For Each dl As object In web.Document.GetElementById("his-tab").GetElementsByTagName("table")
            If dl.getattribute("classname") Like "tr-odd*" Then
                For Each tr As object In dl.GetElementsByTagName("tr")
                    Dim tds = tr.GetElementsByTagName("td")
                    If tds.count >= 5 AndAlso tds(0).Innertext > "" Then
                        Dim ndr As DataRow = DataTables("老时时彩").addnew
                        ndr("日期") = startDate
                        ndr("期号") = tds(0).innertext
                        ndr("开奖号") = tds(1).innertext
                    End If
                Next
            End If           
        Next               
    End If
Next


 回到顶部
总数 90 上一页 1 2 3 4 5 6 7 8 9 下一页