精华内容
下载资源
问答
  • VBA-简单抓取网络数据

    万次阅读 多人点赞 2018-07-19 10:14:03
    1.在Excel中如果能够直接获取网上的数据,是非常便利的,于是在这里以获取标题和链接为例,来介绍一下用VBA实现网络抓取 效果如下图所示 2.如何实现,具体代码和解释如下 Option Explicit Public Sub getlist...

    1.在Excel中如果能够直接获取网上的数据,是非常便利的,于是在这里以获取标题和链接为例,来介绍一下用VBA实现网络抓取

    效果如下图所示

    2.如何实现,具体代码和解释如下

    Option Explicit
    Public Sub getlist()
    '将单元格内容清空
    [a:b].ClearContents
    '定义网址
        Dim strurl As String
        strurl = "http://www.baidu.com/s?wd=你好"
    '创建对象HTML
        Dim ht As Object
        Set ht = CreateObject("MSXML2.XMLHTTP")
        With ht
    '发送请求
         .Open "get", strurl, False
         .send
    '等待响应
         Do While .readyState <> 4
             DoEvents
          Loop
    '定义数组来接收结果
        Dim s() As String
        s = Split(.responseText, "<h3 class=""t") '得到网站的源码以"h3 class=t"为关键字
       Dim arr() '定义一个二维数组来接收想要的内容
       ReDim arr(0 To UBound(s), 0 To 1)
       arr(0, 0) = "标题"
       arr(0, 1) = "链接"
       Dim i As Long
       For i = 1 To UBound(s)
       '获取标题
        arr(i, 0) = Replace(Replace(Replace(Split(Split(s(i), "</a>")(0), "target=""_blank""")(1), Chr(10), ""), "<em>", ""), "</em>", "")
        '获取链接
        arr(i, 1) = Split(Split(s(i), "href=""")(1), """")(0)
        
        
       Next
        
        End With
        '将内容保存在表格中
        [a1:b1].Resize(UBound(arr)) = arr
        '去掉文本中的空格
        For i = 1 To UBound(s)
         Range("A" & i).Select
           Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
       Next
     
    End Sub
    

     

    展开全文
  • VBA登录抓取网络数据

    2021-06-11 16:38:45
    受限在网页上右击查看网页源代码,按Ctrl+F搜索form表单,找到post的网址(或者自身就是post的网址),然后找到账号和密码的name,用来做VBA里Send的Data,这样登录完就可以直接post数据获取网址获取网页数据了,这里...

    受限在网页上右击查看网页源代码,按Ctrl+F搜索form表单,找到post的网址(或者自身就是post的网址),然后找到账号和密码的name,用来做VBA里Send的Data,这样登录完就可以直接post数据获取网址获取网页数据了,这里举例代码最后是返回文本,可以用left和right配合instr、invinstr、len等反复截取文本,或者直接用正则表达式。

    Set http = CreateObject("Msxml2.ServerXMLHTTP")

    http.Open "post", "登录网址", False

    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

    Data = "username=账号&password=密码"

    http.send (Data)

    http.Open "post", "数据获取网址", False

    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

    Data = "参数名=参数值"

    http.send (Data)

    html = http.responsetext

    If InStr(HTML, "由于访问订单详情页过于频繁") > 0 Then '绕过验证码

    http.Open "post", "http://om.jd.com/verify_doOrderInfoverify", False

    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

    Data = "codes=&returnUrl=http://om.jd.com/detail"

    http.send (Data)

    HTML = http.responsetext

    '未测试是否返回原网页

    End If

    文本处理的子函数举例

    Function sf(a, b, c, d) '文本存在判断返回

    If InStr(a, b) <> 0 Then

    sf = c

    Else

    sf = d

    End If

    End Function

    Function smid(a, b, c) '截取首次出现文本中间

    If InStr(a, b) > 0 Then

    smid = Right(a, Len(a) - InStr(a, b) - Len(b) + 1)

    If InStr(smid, c) > 0 Then

    smid = Left(smid, InStr(smid, c) - 1)

    End If

    End If

    End Function

    Function sp(a, b, c) 'HTML关键字截取

    sp = smid(a, b, c)

    If InStr(sp, "

    sp = smid(sp, "

    Else

    sp = smid(sp, "

    ")

    End If

    sp = smid(sp, ">", "

    sp = Replace(sp, Chr(10), "")

    sp = Replace(sp, Chr(11), "")

    sp = Replace(sp, Chr(13), "")

    sp = Replace(sp, " ", "")

    End Function

    展开全文
  • JSON解读_20191130223712.png第一步,创建从网络获取数据的Function:'-----------------------------------------------'获取网络Json数据(测试成功)'-----------------------------------------------Function ...

    8fab237c1570

    JSON解读_20191130223712.png

    第一步,创建从网络获取数据的Function:

    '-----------------------------------------------

    '获取网络Json数据(测试成功)

    '-----------------------------------------------

    Function getWebData(ByVal URL As String, Optional ByVal Method As String = "GET", Optional ByVal ReturnType As String = "Text", Optional ByVal Async As Boolean = False, Optional ByVal Username As String = "", Optional ByVal Password As String = "")

    '处理变量

    Method = IIf(UCase(Method) = "GET", "GET", "POST")

    '创建对象

    Dim xmlHttp As Object

    Set xmlHttp = CreateObject("MSXML2.XMLHTTP")

    'Set xmlHttp = CreateObject("Msxml2.ServerXMLHTTP")

    '发送请求

    xmlHttp.Open Method, URL, Async, Username, Password

    xmlHttp.Send

    '等待响应

    Do While xmlHttp.ReadyState <> 4

    DoEvents

    Loop

    '得到请求数据

    If xmlHttp.ReadyState = 4 Then

    '根据要求返回不同结果

    Select Case UCase(ReturnType)

    Case "TEXT"

    getWebData = xmlHttp.responsetext

    Case "BODY"

    getWebData = xmlHttp.responsebody

    Case "STREAM"

    getWebData = xmlHttp.responseStream

    Case "XML"

    getWebData = xmlHttp.responseXML

    Case Else

    getWebData = xmlHttp.responsetext

    End Select

    Else

    getWebData = "调用失败,错误代码:" & xmlHttp.Status '返回错误结果

    End If

    '销毁对象

    Set xmlHttp = Nothing

    End Function

    第二步,获取数据并解析JSON:

    '-------------------------------------------------------------

    '解析JSON成功

    '参考:http://club.excelhome.net/thread-1303169-2-1.html

    '-------------------------------------------------------------

    Public Sub getResource()

    '创建对象

    Dim oDom As Object

    Dim oWindow As Object

    Dim strHTML As String

    Set oDom = CreateObject("HTMLFILE")

    Set oWindow = oDom.parentWindow

    '{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"27.9","WD":"南风","WS":"小于3级","SD":"28%","AP":"1002hPa","njd":"暂无实况","WSE":"<3","time":"17:55","sm":"2.1","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}

    strHTML = getWebData("http://www.weather.com.cn/data/sk/101010100.html", "get", "text")

    '创建对象

    oWindow.execScript "a=" & strHTML

    Cells(1, 1) = strHTML

    Cells(2, 1) = oWindow.eval("a.weatherinfo.city")

    Cells(3, 1) = oWindow.eval("a.weatherinfo.cityid")

    Cells(4, 1) = oWindow.eval("a.weatherinfo.temp")

    Cells(5, 1) = oWindow.eval("a.weatherinfo.WD")

    Cells(6, 1) = oWindow.eval("a.weatherinfo.SD")

    End Sub

    展开全文
  • VBA提取网页数据

    热门讨论 2011-09-21 14:43:51
    VBA提取网页数据,提高自动化办工效率,本工程以提取工信部车辆信息为例,如何提取网页数据
  • VBA提取网页数据的四种方法,可以应用于excel中vba编程用于从网络自动提取数据
  • 在“工程/部件”对话框中勾选:Microsoft Internet Controls 在“工程/引用”对话框中勾选:Microsoft HTML Object Library Private Sub CommandButton1_Click() '参考 https://www.docin.com/p-2069550399.html... ...

    在“工程/部件”对话框中勾选:Microsoft Internet Controls
    在“工程/引用”对话框中勾选:Microsoft HTML Object Library

    
    Private Sub CommandButton1_Click()
        '参考 https://www.docin.com/p-2069550399.html
        
        Dim dom As New HTMLDocument
        Set http = CreateObject("Msxml2.ServerXMLHTTP")
        
        '开始访问
        http.Open "GET", "http://www.weather.com.cn/weather/101020100.shtml", False
        http.send
        '赋值
        dom.body.innerHTML = http.responseText
        
        Set ul_list = dom.getElementsByClassName("t clearfix")
        
        For Each el In ul_list(0).getElementsByTagName("li")
           Debug.Print el.innerText
        Next
        
    End Sub
    
    

    在这里插入图片描述

    展开全文
  • 编写Excel VBA工具,连接并操作Mysql 数据库。系统环境:OS:Win7 64位 英文版Office 2010 32位 英文版1、VBA连接MySql前的准备Tools--->References..---->引用勾选Microsoft ActiveX Data Objects 2.8 ...
  • VBA 获取网页的全部源码内容_20191201091118.png获取网页的...首先要有提取网络资源的Function:'-----------------------------------------------'|获取网络数据'--------------------------------------------...
  • Json常用来存储数据,使用ScriptControl对象方法将Json数据提取到Excel中。代码如下:SubJsonToRng()DimsJson$,js$sJson=Range("A1") 'JSON数据在A1js="varr,k,row=c=1,d={};for(rinj){row++;for(kinj[r]){if(!d[k])...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第九个专题“利用IE抓取网络数据”的第三节“利用IE,抓取解禁股票数据”,这个专题是非常有用的知识点,希望大家掌握。第四节 利用IE,抓取解禁股票数据大家好,这...
  • 通常,我使用这段代码来检索VBA中文件夹的内容。 但这在共享点的情况下不起作用。 我能怎么做 ?Dim folder As folderDim f As FileDim fs As New FileSystemObjectSet folder = fs.GetFolder("//sharepoint.address...
  • 有一份Excel报表,里面有1w多条数据,并且有一列是IP地址,老板说,把每一行的IP对应的中文地址信息找出来。OMG,这怎么办???琢磨了一下,整理了思路:操作excel数据最好的方法->vba->vba通过给定的ip地址向...
  • VBA解析JSON数据(1)-- Split函数

    万次阅读 2019-02-16 07:20:48
    什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的...由于JSON天然具备了简洁和清晰的层次结构,易于机器解析和生成,从2005年前后开始JSON成为主流的网络数据传输格式。进行网页数据抓取的时候,...
  • VBA-获取网上的资源

    千次阅读 2018-07-21 19:42:55
    表格数据获取,可以直接用“数据”-“获取外部数据”-“自网站”,也可用代码实现,其代码如下 Sub test() Cells.Delete Dim qt As QueryTable Set qt = ActiveSheet.QueryTables.Add(Connection:= _ "URL...
  • Excel使用VBA读取实时WebService股票数据

    万次阅读 多人点赞 2017-08-03 18:05:05
    (2)按ALT+F11,在Sheet1的VBA通用代码中加入如下代码:   Function FillOneRow(url As String, r As Integer) As Integer With CreateObject("msxml2.xmlhttp") .Open "GET", url, False .send sp = ...
  • 问题点: 在日常工作是,有需要批量打印.pdf的需求,但是客户提供的是pdf档,在pdf档的最后一页是关于客户公司的信息,如果...利用这个规则,可以使用如下的vba自定义函数获取pdf文件的总页数”通过他的代码,可以.
  • VBA.CreateObject("WinHttp.WinHttpRequest.5.1") With oHTML Select Case sVerb Case "GET" .Open "GET", sUrl, False Case "POST" .Open "POST", sUrl, False ' .SetRequestHeader "Referer", ...
  • 同样VBA编程中也不例外,给我们预置了一些对象,可对计算机磁盘进行访问操作。本节介绍如何获取磁盘信息,或者说是磁盘驱动器信息。Drive对象此对象属性就是整个磁盘的一些基本信息。如下图所示磁盘就是硬盘分别以...
  • excel中不打开文件调用其它文件数据(VBA)
  • vba-网络抓取(get,post)

    万次阅读 2018-07-21 10:20:21
    (1)GET获取数据 Option Explicit '以快递一百查询快递单号为例 '用fiddler 来查看自己想要的链接等信息 'GET请求获取数据 Public Sub testkuaidi() Dim xmlhttp As Object Set xmlhttp = CreateObject("M...
  •  这几天帮客户做个系统,需要获到系统环境变量及一些特殊文件夹。收集和研究了各种代码。记录一下,以免自己忘记,...1.Environ("AllUsersProfile") 在XP下 获取的是 C:\Documents and Settings\All Users  
  • 本文来自网络资料参阅加以修改,如有侵权联系作者删除,谢谢 找了好久的资料没有很齐全的想要的那种盯盘方式,于是就自己动手制作了个盯盘的Excel模板,如图 废话不多说直接上源码: 打开Excel,添加3个模块 模块1...
  • VBA通用ADO数据访问模型

    千次阅读 2019-04-16 16:11:36
    ADO是基于OLE DB的数据访问技术。它不直接与数据交互,而是把这个任务交给了...由于ADO是基于COM实现的,所以基本上任何语言都可以使用这种数据访问技术,VBA也不例外。 一、ADO对象模型 ADO对象库中主要有9个对象...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第九个专题“利用IE抓取网络数据”的第三节“利用IE,抓取深市股票涨跌数据”,这个专题是非常有用的知识点,希望大家掌握。第三节 利用IE,抓取深市股票涨跌数据...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第十七个专题“文件及文件夹信息的获取及操作”的第三节“利用VBA获取文件的信息和属性”,这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序...
  • 利用VBA开发数据汇总工具通常在日常工作中总会用到Excel并且经常会遇到Excel将多个表格进行汇总。经过工作中的实践,发现用VBA开发具有一定重复性的功能,能够极大提高工作效率。最近,将本人曾开发的的Excel数据...
  • "通过POWER QUERY从 Web 获取数据使用Power Query从 web 获取数据的能力非常方便, Power Query在大家不了解VBA的时候,可以这样去使用,但是如果你了解VBA其实也很方便,主要是看大家的取舍和偏好从网络上抓取下来的...
  • 它目前运行在本地网络服务器(本地主机)上,但可通过我的PC的IP地址从网络上的其他PC访问。Excel VBA连接到远程MySQL数据库在我的连接功能,我有localhost的位置,但是当我将其更改为我的IP地址,我得到一个[MySQL]...
  • 如何获取评论的数据。 这里本来有个尖括号.。我用{表示 下同{div> div class="operation-btn"> a href="javascript:void(0)" rel="nofollow" class="comment commentClick" title="评论" obj_info="1566418-1-list">...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,803
精华内容 721
关键字:

vba获取网络数据