以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:大红袍老师 麻烦看看网页怎么遍历查值 谢谢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84878) |
-- 作者:李孝春 -- 发布时间:2016/5/12 13:21:00 -- 求助:大红袍老师 麻烦看看网页怎么遍历查值 谢谢 Dim web As new System.Windows.Forms.WebBrowser Dim divs = web.Document.GetElementById("ColumnContainer") 之前的今日头条网页查值,大红袍老师利用了上面代码实现了相关数据的查值。 由于我个人理解不深透,拟参考上述写法,获取其他网页代码中的值,结果提示错误。求指导。 下述是我参考写的代码 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 |
-- 作者:大红袍 -- 发布时间: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) |
-- 作者:李孝春 -- 发布时间:2016/5/12 14:21:00 -- 回复:(大红袍)Dim web As new System.Windows.Form... 大红袍老师,请问下面这个代码是怎么得到的36这个数字呢? 有没有第三方工具可以快速查找这样的数值或者ID呢? |
-- 作者:大红袍 -- 发布时间:2016/5/12 14:22:00 -- 以下是引用李孝春在2016/5/12 14:21:00的发言:
大红袍老师,请问下面这个代码是怎么得到的36这个数字呢?
有没有第三方工具可以快速查找这样的数值或者ID呢?
IE浏览器,右键,查看元素。
或者按照Firefox浏览器,右键,查看元素 |
-- 作者:李孝春 -- 发布时间:2016/5/12 14:38:00 -- 回复:(大红袍)以下是引用李孝春在2016/5/12 14:21:... 是检查元素么?我没有找到查看元素 呵呵 |
-- 作者:大红袍 -- 发布时间:2016/5/12 14:46:00 -- 那你就下载一个firefox浏览器。 |
-- 作者:李孝春 -- 发布时间:2016/5/12 15:10:00 -- 回复:(大红袍) 那你就下载一个firefox浏览器。... 话说这个36数字是怎么来呢的?手动数么?我直接输入36就可以定位到这里 innerHtml这个代码下怎么截取对应数据呢?也就是 <TR> <TD align=left> · <A class=b14 href="./201410/t20141026_1488013.shtml" target=_blank>瓮安县人民检察院召开专题组织生活会公开评议党员</A></TD></TR> 将这个截取为 ./201410/t20141026_1488013.shtml 瓮安县人民检察院召开专题组织生活会公开评议党员 |
-- 作者:大红袍 -- 发布时间:2016/5/12 15:11:00 -- 对于没有特殊标记的元素,也就是 没有id、class、或者其它可以区别唯一的元素,你就必须用手算。
你可以循环列出所有的值,计算是哪一个也行。 [此贴子已经被作者于2016/5/12 15:11:49编辑过]
|
-- 作者:李孝春 -- 发布时间: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 瓮安县人民检察院召开专题组织生活会公开评议党员
|
-- 作者:大红袍 -- 发布时间:2016/5/12 15:20:00 -- 在里面查 A 元素,然后获取属性值
GetElementsByTagName("a")
GetAttribute("href") |