vba如何登录内部网站爬虫(VBA登录网页)

本文目录
- VBA登录网页
- 如何用VBA写爬虫程序
- vba实现网页自动登录
- vba如何抓取网页上的数据
- 求用VBA自动登录网页代码,举QQ拍拍网页版等弹出窗口登录方式,不要淘宝静态方式登录的代码
- excel怎么用vba后台登录网站
- 如何用vba抓取网页数据
VBA登录网页
你图片上第一行代码就是密码的登录名字,前面一点点应该就有用户名的代码,仔细查看。
如何用VBA写爬虫程序
先学习简单的html和javascript,然后学习使用webbrower控件,就基本会写简单的vba爬虫了
vba实现网页自动登录
这里有两问题:
1、ie.Navigate "xxx_login.php"打开网页后,在网页没有载入完毕立即去获取网页控件会失败;
2、ie.document.GetElementsByName("pwuser").value获取控件中是不是Element而不是Elements.
dim ie
Set ie=CreateObject("InternetExplorer.application")
ie.Visible=true
ie.Navigate "xxx_login.php"
‘等待网页载入完成
Do
Sleep 200
Loop Until IE.ReadyState = 4
ie.document.GetElementByName("pwuser").value = "用户名"
ie.document.GetElementByName("pwpwd").Value = "密码"
ie.document.GetElementByName("submit").Click
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
***隐藏网址***
’等待网页完全加载
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
求用VBA自动登录网页代码,举QQ拍拍网页版等弹出窗口登录方式,不要淘宝静态方式登录的代码
要完整的写代码很费事,我给个思路:
1、用findwindowex这个api枚举当前窗口,根据窗口标题还判断是不是QQ的弹出窗口,然后可以取得所需要处理的窗口句柄。
2、用postmesage这个api向前面的窗口句柄所指向的窗口发送键盘信息(用户名和密码)
注:用sendkey不稳定,很有可能是没有任何反映;如果QQ本身有反外挂的话,很有可能postmesage也会被拦截,这时候需要range0的权限运行,这个用VBA实现有困难。不过反外挂在游戏程序中多见,QQ可能不拦截。
excel怎么用vba后台登录网站
1/7
在Excel文件中打开VisualBasic,添加一个用户窗体。
2/7
添加两个Label标签控件至窗体中,并分别命名为“用户名”和“密码”。
3/7
添加两个文本框控件至窗体中,并分别与已添加的标签控件对齐。
4/7
添加一个命令按钮控件至窗体中,并命名为“登录”。
5/7
执行以上用户窗体后,在Excel工作表界面就会出现一个简单的登录界面。
6/7
设置输入密码时显示符号“*”:单击窗体中密码的文本框控件,在左下其属性区域的PasswordChar输入“*”。
7/7
再次执行后,在登录界面密码处输入信息时即可显示为“*”。
如何用vba抓取网页数据
Sub cc()
Cells.ClearContents
Set oDoc = CreateObject("htmlfile")
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET",
"",
False
.Send
.WaitForResponse
oDoc.body.innerHTML = .responsetext
Set r = oDoc.All.tags("table")(7).Rows
For i = 0 To r.Length - 1
k = .End(3).Row
For j = 0 To r(i).Cells.Length - 1
Cells(k + 1, j + 1) = r(i).Cells(j).innerText
Next j
Next i
Set r = Nothing
End With
End Sub

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40
stm32 float占几个字节(c语言中, float类型的数据范围是多少)
2026年10月14日 17:30
scanf输入多个数据用空格隔开吗(C语言输入两个数之间是用空格隔开还是用逗号)
2026年10月14日 17:20
汇编语言期末试卷(一道汇编语言编程题!急求大神解答明天期末考试就要考了务必按照试卷上的要求来回答好的话有Q币)
2026年10月14日 16:30




