以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]求高手帮我写个抓取网页数据的代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109179) |
-- 作者:18523982317 -- 发布时间:2017/11/6 13:42:00 -- [求助]求高手帮我写个抓取网页数据的代码 http://cx.cqjsxx.com:8010/CX_SGQYMRPM2.aspx 重庆企业诚信分的网页,求高手帮我写个抓取网页的数据的代码 1、我想建立一张表,表里有企业名称和查询的时间,我希望我能循环抓取表里所有企业在某天的诚信分 求高手帮我写个抓取网页数据的代码,论坛的帖子研究半天没研究出来。。。。
|
-- 作者:有点甜 -- 发布时间:2017/11/6 14:30:00 -- 参考代码
Dim web As New System.Windows.Forms.WebBrowser() Dim elems As object = web.Document.GetElementById("GV_SGPM").GetElementsByTagName("tr")
|
-- 作者:18523982317 -- 发布时间:2017/11/6 14:41:00 -- 没任何反映。。。。 |
-- 作者:有点甜 -- 发布时间:2017/11/6 14:44:00 -- 1、看懂代码;
2、请去测试窗口调试 http://www.foxtable.com/webhelp/scr/0213.htm
|
-- 作者:18523982317 -- 发布时间:2017/11/6 14:49:00 -- 可以了。。。没看到是output.show.... |
-- 作者:18523982317 -- 发布时间:2017/11/6 15:45:00 -- 甜大大 麻烦帮忙在写下 如何自动模拟下一页 再读取数据 我参考论坛里的 Dim web = Forms("窗口1").controls("webbrowser1").basecontrol Dim count = web.Document.GetElementById("planContent").GetElementsByTagName("span")(0).InnerText msgbox(count) For k As Integer = 1 To Math.Ceiling(count / 10) Dim tb = web.Document.GetElementById("tableContent") Dim trs = tb.GetElementsByTagName("tr") \'根据标签得到数据集合 For i As Integer = 1 To trs.count-1 output.show(trs(i).InnerText) Dim tds = trs(i).GetElementsByTagName("td") For j As Integer = 0 To tds.count-1 output.show(tds(j).InnerText) Next Next Do Until web.Document.GetElementById("mypagination1") IsNot Nothing Application.DoEvents Loop Dim pgs = web.Document.GetElementById("mypagination1") For Each pg As object In pgs.GetElementsByTagName("a") If pg.InnerText = "下一页" Then pg.InvokeMember("click") Exit For End If Next Next 一个是count代表什么 没猜明白,二是下一页所在的区域没有id。。。就不知道怎么去获取下一页再模拟单击了。。
|
-- 作者:有点甜 -- 发布时间:2017/11/6 16:18:00 -- 参考代码
Dim web As New System.Windows.Forms.WebBrowser() Dim pg As Integer = 0 |
-- 作者:18523982317 -- 发布时间:2017/11/6 16:30:00 -- 大概读懂了,我想用dim str as string = web.Document.GetElementsByTagName("GV_SGPM_ctl15_LabelRecordCount").innerHTML 去获取3847这个数据,结果不支持innerHTML |
-- 作者:有点甜 -- 发布时间:2017/11/6 16:46:00 -- 你要用这种方式获取
For Each sp As object In web.Document.GetElementsByTagName("span") ElseIf sp.id.contains("LabelRecordCount") Then |
-- 作者:18523982317 -- 发布时间:2017/11/6 17:21:00 -- 甜大大 我又有个需求,我要在企业名称的文本框里自动填入当前行的企业名称进去,然后查询,然后下载数据到本地 这个向网页填写数据,改怎么做 |