以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  网页数据采集问题?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=51360)

--  作者:hjcslr
--  发布时间:2014/5/25 17:45:00
--  网页数据采集问题?
有个网页数据要采集,试了介绍的好几样方法都不得行,如何采集?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临床医生工作平台 ( gd-cwp ).rar






--  作者:有点甜
--  发布时间:2014/5/25 17:50:00
--  

 你这个简单,直接用id去取值即可,比如

 

Dim o As Object = e.form.controls("WebBrowser1").basecontrol.Document.GetElementById("registerInfo.hospitalCardid")

msgbox(o.GetAttribute("value"))

 

 


--  作者:有点甜
--  发布时间:2014/5/25 17:55:00
--  

 比如,完整代码

 

Dim web As New System.Windows.Forms.WebBrowser()
web.ScriptErrorsSuppressed = True
web.Navigate("d:\\临床医生工作平台 ( GD-CWP ).htm")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop


\'取数据
Dim o As Object = web.Document.GetElementById("registerInfo.hospitalCardid")

msgbox(o.GetAttribute("value"))


--  作者:hjcslr
--  发布时间:2014/5/26 0:37:00
--  
正在测试,谢谢
--  作者:hjcslr
--  发布时间:2014/5/26 23:50:00
--  
测试成功,谢谢了
--  作者:hjcslr
--  发布时间:2015/2/12 23:36:00
--  
再提一个问题,在下面的网页(服务器的,不是本地的),提取查询结果,可以不?

e.Form.Controls("WebBrowser1").address="M:\\临床医生工作平台 ( GD-CWP )333.htm"
Dim drr01 As String = e.Form.Controls("textbox2").text   \'用于输入住院号

Dim web As New System.Windows.Forms.WebBrowser()
web.ScriptErrorsSuppressed = True
web.Navigate("M:\\临床医生工作平台 ( GD-CWP )333.htm")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

web.Document.GetElementById("searchFilter.clinicHospitalno").SetAttribute("Value","")  \'输入住院号查询
web.Document.GetElementById("searchFilter.clinicHospitalno").SetAttribute("Value","14522")  \'输入住院号查询
web.Document.GetElementById("searchFilter.timeFilterType").SetAttribute("Value","不过滤")  \'输入住院号查询

Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("input")
For i As Integer = 0 To hec.Count-1
    If hec(i).OuterHtml.Contains("查 询") Then
        hec(i).InvokeMember("click")
        web.Navigate("M:\\临床医生工作平台 ( GD-CWP )333.htm")
        
\'        Exit For
    End If
Next

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临床医生工作平台 ( gd-cwp )333.rar



[此贴子已经被作者于2015/2/12 23:36:57编辑过]

--  作者:有点甜
--  发布时间:2015/2/12 23:45:00
--  

如果可以直接访问服务器的htm文件,就可以。

 

比如 http://192.168.1.9/xxx.htm

 

或者局域网 \\\\192.168.1.9\\共享文件夹\\xxx.htm


--  作者:hjcslr
--  发布时间:2015/2/13 13:29:00
--  
基本可以了,但是这代码要点2次才行,那的问题
--  作者:有点甜
--  发布时间:2015/2/13 14:21:00
--  

 你给的例子无法测试。

 

 试试把这句代码去掉 web.Navigate("M:\\临床医生工作平台 ( GD-CWP )333.htm")

 


--  作者:hjcslr
--  发布时间:2015/2/13 15:42:00
--  
放在全局变量中可以了?
但是还有个问题,如何偱环打开查询结果网页(查看里面的网页地址)