巧用split处理网抓数据-yihui
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


巧用split处理网抓数据

发表时间:2020/8/7 14:59:56 评论(0) 浏览(3197)  评论 | 加入收藏 | 复制
   
摘 要:MSXML2.XMLHTTP,记录集,split使用。
正 文:

有网友在群里讨论,对于网页数据,excel有PQ可以直接导入网页数据,那对于access 如何处理网页数据。

论坛里有一个示例:

【Access小品】提取网页中股票数据

http://www.accessoft.com/article-show.asp?id=10505  案例里代码和操作复杂,不是太适合新手。 


尝试修改简化如下:

1."MSXML2.XMLHTTP" 模拟访问网页

2.split  relpace 等处理数据

3 rst记录集写入数据


具体代码如下:

Option Compare Database
Sub 数据抽取()
    tt = Now
    Dim strText As String
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim sql As String
    sql = "select * from 行情"
    CurrentDb.Execute ("delete * from 行情")
    Set rst = CurrentDb.OpenRecordset(sql)
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://www.lvdingjia.com/app/search.html?category=3&long=180", False
        .Send
        strText = .responsetext
    End With
    strText = Split(Split(strText, "")(1), "")(0)
    arr = Split(strText, "")
    ReDim brr(1 To UBound(arr), 1 To 5)
    For i = 1 To UBound(arr)
        Z = Split(Replace(Replace(Replace(Split(arr(i), "htm"">")(1), "", ""), " class=""diff2""", ""), "", ""), "")
        rst.AddNew
        With rst
            !日期 = Z(0)
            !最低价 = Z(1)
            !最高价 = Z(2)
            !均价 = Z(3)
            !涨跌 = Z(4)
            .Update
        End With
    Next
    MsgBox "处理完成" & vbLf & "用时" & Format(Now - tt, "hh:nn:ss")
    DoCmd.OpenTable "行情"
End Sub


案   例:

点击下载此附件


图   示:

点击图片查看大图


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access源码示例】按乘号提取数字\带有分割符号数据的提取示例...  【红尘如烟  2012/6/13】
从网页抓取航班信息,在本地窗体查询分析  【何必见戴  2012/9/1】
VBA 抓取当前美金兑换率 winhttp版  【dbaseIIIer  2014/5/1】
【Access小品】提取网页中股票数据  【煮江品茶  2015/11/5】
Access数组函数 Array Split Join 常见用法示...  【张义成  2016/11/2】
【Access示例】--提取网页数据和进度条的综合使用  【MDZZ  2016/12/5】
妙用split将字段分成多列案例  【yihui  2019/8/30】
常见问答
技术分类
相关资源
文章搜索
关于作者

yihui

文章分类

文章存档

友情链接