Foxtable(狐表)用户栏目专家坐堂 → 关于提取网页信息问题的请教


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

主题:关于提取网页信息问题的请教

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
关于提取网页信息问题的请教  发帖心情 Post By:2015/11/23 15:06:00 [只看该作者]

现在公司有个项目,是在网页中提取相关的数据,然后保存在数据库里,我对网页提取方面很菜,相请教以下问题?

例如:网址:http://125.35.6.80:8080/ftba/fw.jsp

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qirbhtyvglxzv0~ty1(io5r.png
图片点击可在新窗口打开查看

 

我如果能够取得左边的数据,然后能够点击他们进入另一网页,然后提取相关的信息。多谢!


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/11/23 15:48:00 [只看该作者]

真是厉害啊。速度真快。

 

还有个小问题,http://125.35.6.80:8080/ftba/fw.jsp  这个网址怎么用代码去到相应的页数?我点不同的页数,上面的网址怎么不变的?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/23 16:05: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

'第二页
Dim tstr As String = web.Document.GetElementById("FileItems").GetElementsByTagName("dl")(0).innerHtml
web.Document.GetElementById("pageIto_first2").InvokeMember("Click")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("FileItems").GetElementsByTagName("dl")(0).innerhtml <> tstr
    Application.DoEvents
Loop

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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/11/23 16:48:00 [只看该作者]

真是及时雨,狐表真的强大!

最后一个问题:当output show出来的值很多很长 比如:

 

<DIV class=dzpztypes>
<H1>纳益其尔花漾润彩眼影30橙子果冻</H1>
<H2>备案编号 &nbsp;沪G妆网备字2015024339 </H2>
<H6>备案日期 &nbsp;2015-11-23 </H6>
<H3>生产企业 &nbsp;纳亦绮尔(上海)国际贸易有限公司 </H3>
<H6>生产企业地址 &nbsp;上海市黄浦区西藏中路268号3905室(实际室号为3504室) </H6></DIV>
<DIV class=dzpzelements style="MIN-HEIGHT: 70px">
<H6>实 际<BR>生 产<BR>企 业</H6>
<UL style="MIN-HEIGHT: 70px">
<LI>企业名称:科丝美诗(中国)化妆品有限公司&nbsp;&nbsp;企业地址:上海市工业综合开发区陈桥路1568号&nbsp;&nbsp;<SPAN style="COLOR: red">(未备案)</SPAN></LI></UL></DIV>
<DIV class=dzpzelements>
<H6>成 分</H6>
<UL style="MIN-HEIGHT: 20px">氧化锡,玻璃,CI 77891,硼硅酸钠钙,一氮化硼,滑石粉,聚二甲基硅氧烷,新戊二醇二(乙基己酸)酯,苯基聚三甲基硅氧烷,锦纶-12,辛基十二醇硬脂酰氧基硬脂酸酯,硬脂酸镁,甲基丙烯酸甲酯交联聚合物,聚乙烯,聚四氟乙烯,肉豆蔻酸镁,CI 15985,二异硬脂醇苹果酸酯,二聚季戊四醇六羟基硬脂酸酯/六硬脂酸酯/六松脂酸酯,异硬脂醇新戊酸酯,CI 19140,CI 77019,聚丁烯,1,3-丙二醇,合成蜡,脱氢乙酸钠,CI 73360,狗牙蔷薇(ROSA CANINA)果油 &nbsp;</UL></DIV>
<DIV class=dzpzplus>
<H6>说 明</H6>
<UL>
<LI>无&nbsp;
<LI></LI></UL></DIV>
<DIV title=检查记录 class=dzpzplus id=check>
<H6>备 注</H6>
<UL>
<LI>无</LI></UL></DIV>
<DIV class=dzpzmore id=cpbz style="WIDTH: 700px; PADDING-LEFT: 0px"><IMG style="VERTICAL-ALIGN: middle" src="http://125.35.6.80:8080/ftba/images/ajax.gif"></DIV>
<DIV class=dzpzmore2><A onclick=javascript:openRecord(); href="javascript:;">历史记录</A></DIV>
<DIV class=dzpzplus id=history style="DISPLAY: none">
<H6>历 史</H6>
<UL>
<LI>无</LI></UL></DIV>

 

有什么好的方法可以取得我想要的数据,用IndexOf 和 SubString 吗?


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


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

看前面的 GetElementById 和 GetElementsByTagName,如,这样获取

 

    output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName(“H1")(0).innerText)


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/11/23 17:10:00 [只看该作者]

完美解决所有问题。多谢大红袍!

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/11/23 17:20:00 [只看该作者]

大红袍老师

 


<H6>实 际<BR>生 产<BR>企 业</H6>
<UL style="MIN-HEIGHT: 70px">
<LI>企业名称:科丝美诗(中国)化妆品有限公司&nbsp;&nbsp;企业地址:上海市工业综合开发区陈桥路1568号&nbsp;&nbsp;<SPAN style="COLOR: red">(未备案)</SPAN></LI></UL></DIV>

 

output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName(“H6")(3).innerText)

 

能出来实际生产企业, 但下面<L1>的内容要如何才能取到?


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


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

    output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName("Li")(0).innerText)

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2015/11/23 17:38:00 [只看该作者]

哦。懂了。那像这种呢?

 

<H6>成 分</H6>
<UL style="MIN-HEIGHT: 20px">氧化锡,玻璃,CI 77891,硼硅酸钠钙,一氮化硼,滑石粉,聚二甲基硅氧烷,新戊二醇二(乙基己酸)酯,苯基聚三甲基硅氧烷,锦纶-12,辛基十二醇硬脂酰氧基硬脂酸酯,硬脂酸镁,甲基丙烯酸甲酯交联聚合物,聚乙烯,聚四氟乙烯,肉豆蔻酸镁,CI 15985,二异硬脂醇苹果酸酯,二聚季戊四醇六羟基硬脂酸酯/六硬脂酸酯/六松脂酸酯,异硬脂醇新戊酸酯,CI 19140,CI 77019,聚丁烯,1,3-丙二醇,合成蜡,脱氢乙酸钠,CI 73360,狗牙蔷薇(ROSA CANINA)果油 &nbsp;</UL></DIV>

 

output.show(web1.Document.GetElementById("dzpznr").GetElementsByTagName(“H6")(4).innerText)

 

能出来成分,但是<UL style="MIN-HEIGHT: 20px">后面的内容怎么才能得到?


 回到顶部
总数 35 1 2 3 4 下一页