Foxtable(狐表)用户栏目专家坐堂 → 求助:大红袍老师 麻烦看看网页怎么遍历查值 谢谢


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

主题:求助:大红袍老师 麻烦看看网页怎么遍历查值 谢谢

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:大红袍老师 麻烦看看网页怎么遍历查值 谢谢  发帖心情 Post By:2016/5/12 13:21: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



之前的今日头条网页查值,大红袍老师利用了上面代码实现了相关数据的查值。
由于我个人理解不深透,拟参考上述写法,获取其他网页代码中的值,结果提示错误。求指导。

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


下述是我参考写的代码
Dim web As new System.Windows.Forms.WebBrowser
web.ScriptErrorsSuppressed = True
web.Navigate("http://www.gzwengan.jcy.gov.cn/gzdt/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
Dim bodys = web.Document.GetElementById("fontzoom")
For Each body As object In bodys.GetElementsByTagName("body")
    If body.GetAttribute("Classname") = "b14" Then
        Dim tbs = body.GetElementsByTagName("table")
        Dim trs = tbs(0).GetElementsByTagName("td")
        output.show(trs(0).GetElementsByTagName("left")(0).Innertext)
        'output.show(trs(1).GetElementsByTagName("href")(1).Innertext)
        'Dim tds = trs(1).GetElementsByTagName("td")
        'output.show(tds(1).innertext)
        'output.show(tds(2).innertext)
        'output.show(tds(3).innertext)
        output.show("------")
    End If
Next

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


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

Dim web As new System.Windows.Forms.WebBrowser
web.ScriptErrorsSuppressed = True
web.Navigate("http://www.gzwengan.jcy.gov.cn/gzdt/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
Dim i As Integer = 0
Dim tb = web.document.GetElementsByTagName("table")(36)
output.show(tb.innerHtml)

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)Dim web As new System.Windows.Form...  发帖心情 Post By:2016/5/12 14:21:00 [只看该作者]

大红袍老师,请问下面这个代码是怎么得到的36这个数字呢?
有没有第三方工具可以快速查找这样的数值或者ID呢?

Dim tb = web.document.GetElementsByTagName("table")(36)


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


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

以下是引用李孝春在2016/5/12 14:21:00的发言:
大红袍老师,请问下面这个代码是怎么得到的36这个数字呢?
有没有第三方工具可以快速查找这样的数值或者ID呢?

Dim tb = web.document.GetElementsByTagName("table")(36)

 

IE浏览器,右键,查看元素。

 

或者按照Firefox浏览器,右键,查看元素


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)以下是引用李孝春在2016/5/12 14:21:...  发帖心情 Post By:2016/5/12 14:38:00 [只看该作者]

是检查元素么?我没有找到查看元素 呵呵

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


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

 那你就下载一个firefox浏览器。

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍) 那你就下载一个firefox浏览器。...  发帖心情 Post By:2016/5/12 15:10:00 [只看该作者]

话说这个36数字是怎么来呢的?手动数么?我直接输入36就可以定位到这里

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


innerHtml这个代码下怎么截取对应数据呢?也就是
<TR>
<TD align=left> · <A class=b14 href="./201410/t20141026_1488013.shtml" target=_blank>瓮安县人民检察院召开专题组织生活会公开评议党员</A></TD></TR>
将这个截取为
./201410/t20141026_1488013.shtml
瓮安县人民检察院召开专题组织生活会公开评议党员


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



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


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

对于没有特殊标记的元素,也就是 没有id、class、或者其它可以区别唯一的元素,你就必须用手算。

 

你可以循环列出所有的值,计算是哪一个也行。

[此贴子已经被作者于2016/5/12 15:11:49编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)对于没有特殊标记的元素,也就是 没有...  发帖心情 Post By:2016/5/12 15:16:00 [只看该作者]

看来网页操作还需要逐步学习很多东西哦!




innerHtml这个代码下怎么截取对应数据呢?也就是
<TR>
<TD align=left> · <A class=b14 href="./201410/t20141026_1488013.shtml" target=_blank>瓮安县人民检察院召开专题组织生活会公开评议党员</A></TD></TR>
将这个截取为
./201410/t20141026_1488013.shtml
瓮安县人民检察院召开专题组织生活会公开评议党员

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


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

在里面查 A 元素,然后获取属性值

 

GetElementsByTagName("a")

 

GetAttribute("href")


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