ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wcymiss

[原创] 不懂html也来学网抓(xmlhttp/winhttp+fiddler)

    [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-22 19:52 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
t13564865256 发表于 2015-5-22 17:18
js.addcode ("suwenkai = " & .responsetext)
            slen = js.eval("suwenkai.conte ...

这两句代码的作用是在vba里运行javascript代码,一般是用来解析json数据的。我文章里在处理json数据那部分有讲到。要学会这样的用法,必须先学习javascript。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-22 20:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
xuzong 发表于 2015-5-20 21:02
应该就是这个函数来解码的decodeURIComponent(URIstring)
到目前为止,还没有找到在VBA的版本,抓狂

你还是没有仔细看帖啊。。。

TA的精华主题

TA的得分主题

发表于 2015-5-22 20:59 | 显示全部楼层
严重做个记号,不懂html也来网抓。

TA的精华主题

TA的得分主题

发表于 2015-5-24 09:44 | 显示全部楼层
谢谢吴美女,我这几天试了下,发现用您教的方法,也可以抓出来。(虽然是企业内网的flash格式)

TA的精华主题

TA的得分主题

发表于 2015-5-24 18:17 | 显示全部楼层
wcymiss 发表于 2014-10-24 12:07
提取数据-下载文件
知道下载文件的真实地址,就能很方便的用xmlhttp或winhttp下载文件。

试试,就不知自己能否搞定。谢谢!

TA的精华主题

TA的得分主题

发表于 2015-5-24 18:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wcymiss 发表于 2014-10-21 13:19
常用代码及自定义函数:

1、网抓主体代码:代码里的很多""就是留给你的填空题。。。

试了一个,可行,接下来看看如何批量下载了,谢谢!
Sub Main()
    Const strFileName As String = "C:\Downloads\28.jpg"
    With CreateObject("MSXML2.XMLHTTP") 'CreateObject("WinHttp.WinHttpRequest.5.1")
        .Open "GET", "http://121.40.211.8/api/getservice?orgid=cdyxy&ObjId=m.20110919-SGD-888-0178.ft.cebx.1&UserName=cdyxy00010&MetaId=m.20110919-SGD-888-0178&cult=CN&dbsource=dlib&Time=2015-5-24 10:56:21&Sign=7D0C468211ECF0A916CD5412058B0344&Rights=1-0_00&width=1600&height=2400&page=6&ServiceType=imagepage", False
        .Send
        ByteToFile .responsebody, strFileName
    End With
End Sub
Sub ByteToFile(arrByte, strFileName As String)
    With CreateObject("Adodb.Stream")
        .Type = 1 'adTypeBinary
        .Open
        .Write arrByte
        .SaveToFile strFileName, 2 'adSaveCreateOverWrite
        .Close
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2015-5-24 18:55 | 显示全部楼层
本帖最后由 ak47ok 于 2015-5-24 20:16 编辑
wcymiss 发表于 2014-10-21 13:19
常用代码及自定义函数:

1、网抓主体代码:代码里的很多""就是留给你的填空题。。。


要变量,谢谢!

TA的精华主题

TA的得分主题

发表于 2015-5-24 20:34 | 显示全部楼层
还是没有攻克VBA怎样使用代理来下载,下没几页应给封IP了,谢谢!
Sub Main()
For ii = 1 To [a1]
Dim strFileName As String
    strFileName = "C:\Downloads\" & [b1] & ii & ".jpg" '" & ii & "
    With CreateObject("MSXML2.XMLHTTP") 'CreateObject("WinHttp.WinHttpRequest.5.1")
        .Open "GET", "http://121.40.211.8/api/getservice?orgid=cdyxy&ObjId=m.20110919-SGD-888-0178.ft.cebx.1&UserName=cdyxy00010&MetaId=m.20110919-SGD-888-0178&cult=CN&dbsource=dlib&Time=2015-5-24 13:27:47&Sign=3BE1B075E9DFB43891568947B3C74E8E&Rights=1-0_00&width=1600&height=2400&page=" & ii & "&ServiceType=imagepage" & ii & "&ServiceType=imagepage", False
        .Send
        ByteToFile .responsebody, strFileName
    End With
Next
End Sub
Sub ByteToFile(arrByte, strFileName As String)
    With CreateObject("Adodb.Stream")
        .Type = 1 'adTypeBinary
        .Open
        .Write arrByte
        .SaveToFile strFileName, 2 'adSaveCreateOverWrite
        .Close
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2015-5-24 20:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
还是每页下载的时间间隔太短?

TA的精华主题

TA的得分主题

发表于 2015-5-25 07:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢分享,学习收藏
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-6 16:21 , Processed in 0.049324 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表