vba如何抓取网页上的数据

vba如何抓取网页上的数据,第1张

代码:

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 'http://hanyu.iciba.com/pinyin.html'

'等待网页完全加载

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

代码如下:有问题,发百度消息给我。

在Microsoft visual basic中,工具-引用 Microsoft ActiveX Data Objects 2...选一个高版本的

Dim conn As New ADODB.Connection

connStr = "Driver={SQL Server}DataBase=testServer=(local)UID=saPWD=123"

conn.Open connStr '连接数据库

Dim rs As New Recordset

sql = "select * from a" '查看表a

rs.Open sql, conn, 3, 3

Do While Not rs.EOF '循环表a的内容

MsgBox (rs("field1")) '显示表中field1字段内容

rs.MoveNext

Loop

'connStr = "Driver={SQL Server}DataBase=testServer=(local)UID=saPWD=123"

'test是数据库名

'(local)是服务器名或IP地址,可以:192.168.1.1,可以是:www.sina.com.cn

'sa是数据库用户

'123是数据库用户密码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6769029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存