网站建设资讯

NEWS

网站建设资讯

vb.net抓网页数据 vb抓取网页数据

vb.net 获取网页script中的data值

html

创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,西部信息服务器租用西部信息服务器租用,成都多线服务器托管等服务器托管服务。

head

titleTest/title

script language="VBScript" type="text/vbscript"

!--      '按钮事件

sub Test1_onClick()

msgbox document.getelementsbytagname("table")(0).innerText

end sub

sub Test2_onClick() '提取每单元文本

dim Text

'获取表格中的行集

set trs=document.getelementsbytagname("table")(0).getelementsbytagname("tr")

for each tr in trs  '遍历每行

for each td in tr.getelementsbytagname("td") '遍历每行中的每单元

text = text  td.innerText  vbtab  '每单元用制表符分隔

next

text =text  vbcrlf  '换行

next

msgbox text

end sub

--

/script

/head

body

table cellspacing="0" cellpadding="0" class="list1"

tbody

tr class="listtou"

td width="10%"日期/td

td width="10%"姓名/td

td width="10%"备注/td

/tr

/tbody

tr

td width="10%"2014-01-15 10:40:52/td

td width="10%"张山/td

td width="10%"32/td

/tr

tr

td width="10%"2014-01-16 10:40:52/td

td width="10%"李四/td

td width="10%"29/td

/tr

/table

div

input type="button" name="Test1" value="测试1" 

input type="button" name="Test2" value= "测试2"

/div

/body

/html

'主要是对htmlDocument对像的操作,我发现htmlDocument对象可以通过body.InnerHtml载入html文本也能解析,这样比webBrowser1方便,因为是同步的。

'你试试用webClient的downloadString下载网页文本,然后赋给htmlDocument对象下的body.InnerHtml。

'上面只是代码例子,只供参考。用ie打开,某些浏览器可能不支持。

VB.net 正则表达式提取网页内容

楼上的说法不对,正则式的作用就是匹配未知的一些东西,可以提取.

代码如下:

-----------

Imports System.Text.RegularExpressions

dim sHtml as string=网页内容'自己想办法获取,比如Doc.Body.InnerHtml

dim sResult1 as string=""'“听过哪些草原歌”

sResult1=Regex.Match(sHtml, "\[aA]{1}[ ]{1}class\=t[ ]{1}href.+\(.+)\\/[aA]{1}\").Groups(1).Value

'其余类推...

'保存进文件

大哥把分给我吧.求你了.祝你好运中500万

用Vb提取网页中的数据

VB中处理网页文件好象只有这个控件,它是IE的内核,功能已经很强大了.

你遇到的问题我估计是因为网页中使用了框架,你可以这么处理

因为框架网页其实也是由两个或更多的单独网页构成的,所以你也可以把构成框架网页的其中一个页单独打开来浏览,这样做后,就可以用webbrowser.document来取得数据了.

vba如何抓取网页上的数据

代码:

Private Sub CommandButton1_Click()

Dim IE As Object

Dim i As Integer

i = 1

'打开网页:创建一个IE对象,然后给一些属性赋值。Visible是可见性,navigate是网页地址

Set IE = CreateObject('internetexplorer.application')

With IE

.Visible = True

.navigate ''

'等待网页完全加载

Do Until .ReadyState = 4

DoEvents

Loop

'拷贝汉字到网页文本框,然后点击转换按钮,并取出转换结果

Do While Sheets('sheet1').Cells(i 1, 1).Value ''

'从IE.Document.all句柄中把页面上要使用的节点找出来。这里的方法是:

.document.all('source').Value 给以source为ID的文本框赋值

.document.all.tags('img')(1).Click 点击图片集合里的第二张图片

.document.all('to').Value 取出以to为ID的文本框内容

.document.all('source').Value = Sheets('sheet1').Cells(i 1, 1).Value

.document.all.tags('img')(1).Click

Do Until .ReadyState = 4

DoEvents

Loop

Sheets('sheet1').Cells(i 1, 2).Value = .document.all('to').Value

i = i 1

Loop

'关闭网页

.quit

End With

End Sub

代码解释:(见注释)

贴士:

1)VBA只能操作IE浏览器,原因就一句话:都是微软家的产品嘛

2)要先引用Micorsoft Internet Controls


分享文章:vb.net抓网页数据 vb抓取网页数据
URL分享:http://cdweb.net/article/hpseij.html