以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于提取网页信息问题的请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77679) |
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 15:06:00 -- 关于提取网页信息问题的请教 现在公司有个项目,是在网页中提取相关的数据,然后保存在数据库里,我对网页提取方面很菜,相请教以下问题? 例如:网址:http://125.35.6.80:8080/ftba/fw.jsp
我如果能够取得左边的数据,然后能够点击他们进入另一网页,然后提取相关的信息。多谢! |
|
-- 作者:大红袍 -- 发布时间:2015/11/23 15:38:00 -- Dim web As new System.Windows.Forms.WebBrowser web.Navigate("http://125.35.6.80:8080/ftba/fw.jsp") Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("FileItems").GetElementsByTagName("dl").count > 0 Application.DoEvents Loop Dim web1 As New System.Windows.Forms.WebBrowser For Each dl As object In web.Document.GetElementById("FileItems").GetElementsByTagName("dl") output.show(dl.innerhtml) Dim url As String = dl.GetElementsByTagName("a")(0).GetAttribute("href") web1.Navigate(url) Do Until web1.ReadyState = 4 AndAlso web1.document.GetElementById("dzpznr").innerhtml.contains("正在加载") = False Application.DoEvents Loop output.show(web1.Document.GetElementById("dzpznr").innerhtml) output.show(vbcrlf & vbcrlf) Next |
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 15:48:00 -- 真是厉害啊。速度真快。
还有个小问题,http://125.35.6.80:8080/ftba/fw.jsp 这个网址怎么用代码去到相应的页数?我点不同的页数,上面的网址怎么不变的? |
|
-- 作者:大红袍 -- 发布时间:2015/11/23 16:05:00 -- Dim web As new System.Windows.Forms.WebBrowser \'第二页 For Each dl As object In web.Document.GetElementById("FileItems").GetElementsByTagName("dl")
|
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 16:48:00 -- 真是及时雨,狐表真的强大! 最后一个问题:当output show出来的值很多很长 比如:
<DIV class=dzpztypes>
有什么好的方法可以取得我想要的数据,用IndexOf 和 SubString 吗? |
|
-- 作者:大红袍 -- 发布时间:2015/11/23 16:51:00 -- 看前面的 GetElementById 和 GetElementsByTagName,如,这样获取
output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName(“H1")(0).innerText) |
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 17:10:00 -- 完美解决所有问题。多谢大红袍! |
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 17:20:00 -- 大红袍老师
|
|
-- 作者:大红袍 -- 发布时间:2015/11/23 17:32:00 -- output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName("Li")(0).innerText) |
|
-- 作者:ap9709130 -- 发布时间:2015/11/23 17:38:00 -- 哦。懂了。那像这种呢?
<H6>成 分</H6>
output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName(“H6")(4).innerText)
能出来成分,但是<UL style="MIN-HEIGHT: 20px">后面的内容怎么才能得到? |