Foxtable(狐表)用户栏目专家坐堂 → 求助:网页动态加载十行,怎么解析出当前所有行的数据呢?


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

主题:求助:网页动态加载十行,怎么解析出当前所有行的数据呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:网页动态加载十行,怎么解析出当前所有行的数据呢?  发帖心情 Post By:2016/11/1 14:17:00 [只看该作者]



Dim web As new System.Windows.Forms.WebBrowser
web.ScriptErrorsSuppressed = True
web.Navigate("http://toutiao.com/m6114233861/")

Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("content-left") IsNot Nothing AndAlso web.Document.GetElementById("content-left").GetElementsByTagName("li").count > 0
    Application.DoEvents
Loop
Dim lis = web.Document.GetElementById("content-left").GetElementsByTagName("li")
DataTables("文章列表").DataRows.Clear
For i As Integer = 0 To lis.count-1
    Dim lsa = lis(i).GetElementsByTagName("a")
    output.show(lsa(0).InnerHtml)
Next


上述代码实现的是十行数据加载,怎么实现所有行数据加载呢?


上述代码实现了文章标题的获取,但是如果需要加载A标签下  class="title-box link" 这个的值 怎么代码中加上呢?


要获取多个文章列表元素下的内容,怎么操作呢?红色框内都是需要显示出来的数据!


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161101141837.png
图片点击可在新窗口打开查看


文章列表部分格式如下:



图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161101141559.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2016/11/1 14:21:47编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/1 17:01:00 [只看该作者]

 只能模拟获取,参考下面实例,细节自己调整

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:今日头条_小例.table


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点色) 只能模拟获取,参考下面实例,...  发帖心情 Post By:2016/11/1 17:28:00 [只看该作者]

还得麻烦有点色老师再看看:

图片点击可在新窗口打开查看此主题相关图片如下:11111.png
图片点击可在新窗口打开查看
凡是都为图文标题的都没有显示出来哦?
下图是图文标题的源码结构:

图片点击可在新窗口打开查看此主题相关图片如下:11112.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/1 18:21:00 [只看该作者]

灵活变通,参考

 

Dim web = e.Form.controls("webbrowser1").basecontrol
web.ScriptErrorsSuppressed = True
web.Navigate("http://toutiao.com/m6114233861/")

Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Do Until web.DocumentText.contains("没有更多啦")
    web.Document.Window.ScrollTo(0, 0)
    web.Document.Window.ScrollTo(0, web.Document.Body.ScrollRectangle.Height)
    Application.DoEvents
Loop

Dim lis = web.Document.GetElementById("content-left").GetElementsByTagName("li")
Dim str As String = ""
For i As Integer = 0 To lis.count-1
    Dim lsa = lis(i).GetElementsByTagName("a")
    For Each a As object In lsa
        If a.GetAttribute("className") = "title-box link" Then
            str &= a.InnerHtml & vbcrlf
            str &= a.GetAttribute("href") & vbcrlf
            Dim lsspan = lis(i).GetElementsByTagName("span")
            str &= lsspan(0).InnerHtml & " " & lsspan(1).InnerHtml & " " & lsspan(2).InnerHtml & vbcrlf & vbcrlf
        End If
    Next
Next
e.Form.controls("textbox1").text = str


 回到顶部