Foxtable(狐表)用户栏目专家坐堂 → 【求助】如何获取今日头条中的所有页面的网页代码,然后读取文章标题、阅读数、评论数、发布时间到对应的表格中保存


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

主题:【求助】如何获取今日头条中的所有页面的网页代码,然后读取文章标题、阅读数、评论数、发布时间到对应的表格中保存

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/4 10:02:00 [显示全部帖子]

Dim web As new System.Windows.Forms.WebBrowser
web.Navigate("http://toutiao.com/m6051259851/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim pg = web.Document.GetElementById("pagebar")
For Each a As object In pg.GetElementsByTagName("a")
    msgbox(a.innerText & " " & a.GetAttribute("href"))
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/4 10:03:00 [显示全部帖子]

 请自己去学习一下如何获取html里面元素的内容。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/11 17:25:00 [显示全部帖子]

参考

 

Dim web As new System.Windows.Forms.WebBrowser
web.ScriptErrorsSuppressed = True
web.Navigate("http://toutiao.com/m6051259851/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim divs = web.Document.GetElementById("ColumnContainer")
For Each div As object In divs.GetElementsByTagName("div")
    If div.GetAttribute("ClassName") = "pin" Then
        Dim tbs = div.GetElementsByTagName("table")
        Dim trs = tbs(0).GetElementsByTagName("tr")
        output.show(trs(0).GetElementsByTagName("h3")(0).Innertext)
        output.show(trs(1).GetElementsByTagName("div")(1).Innertext)
        Dim tds = trs(2).GetElementsByTagName("td")
        output.show(tds(1).innertext)
        output.show(tds(2).innertext)
        output.show(tds(3).innertext)
        output.show("------")
    End If
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/11 19:29:00 [显示全部帖子]

看2楼,结合5楼,换一下地址就行啊。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/11 20:00:00 [显示全部帖子]

Dim web As new System.Windows.Forms.WebBrowser
web.ScriptErrorsSuppressed = True
web.Navigate("http://toutiao.com/m6051259851/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim pg = web.Document.GetElementById("pagebar").GetElementsByTagName("a")
Dim mpg As Integer = pg(pg.count-2).Innertext

DataTables("文章列表").DataRows.Clear

For i As Integer = 1 To mpg
    web.Navigate("http://toutiao.com/m6051259851/p" & i)
    Do Until web.ReadyState = 4
        Application.DoEvents
    Loop
    Dim bt As System.Windows.Forms.HtmlElement
    bt = web.Document.GetElementByID("keywords")   '今日头条单位标题
    Output.Show(bt.innerText & " " & bt.GetAttribute("content"))
   
   
    Dim divs = web.Document.GetElementById("ColumnContainer")
    For Each div As object In divs.GetElementsByTagName("div")
        If div.GetAttribute("ClassName") = "pin" Then
            Dim tbs = div.GetElementsByTagName("table")
            Dim trs = tbs(0).GetElementsByTagName("tr")
            output.show(trs(0).GetElementsByTagName("h3")(0).Innertext) '文章标题
            output.show(trs(0).GetElementsByTagName("a")(0).GetAttribute("href")) '文章标题
            output.show(trs(1).GetElementsByTagName("div")(1).Innertext)  '正文
            Dim tds = trs(2).GetElementsByTagName("td")
            output.show(tds(1).innertext)  '阅读数
            output.show(tds(2).innertext)  '评论数
            output.show(tds(3).innertext)  '发布时间
            output.show("------")
            Dim dr As DataRow = DataTables("文章列表").AddNew()
            Dim 阅读数 As String = tds(1).innertext
            Dim Parts() As String = 阅读数.Split(":")
            Dim 评论数 As String = tds(2).innertext
            Dim Parts1() As String = 评论数.Split(":")
           
            dr("单位") = bt.innerText & " " & bt.GetAttribute("content")
            dr("文章标题") = trs(0).GetElementsByTagName("h3")(0).Innertext
            dr("发布时间") = tds(3).innertext
            dr("阅读数") = Parts(1)
            dr("评论数") = Parts1(1)
            dr("正文") = trs(1).GetElementsByTagName("div")(1).Innertext
            dr("网址") = trs(0).GetElementsByTagName("a")(0).GetAttribute("href")
        End If
    Next
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/11 21:13:00 [显示全部帖子]

Dim pg = web.Document.GetElementById("pagebar").GetElementsByTagName("a")
Dim mpg As Integer = 1
If pg.count > 1 Then
    mpg = pg(pg.count-2).Innertext
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/11 21:53:00 [显示全部帖子]

无语,读取不到,就是没有值啊。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/12 9:42:00 [显示全部帖子]

代码,没有问题。

 

获取不了就是网页本来数据就是没有的啊,自己去查网页。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/12 10:02:00 [显示全部帖子]

有只就能获取啊。自己测试。

 回到顶部