ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-11-5 08:01 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
liangdonghao222 发表于 2014-11-4 14:02
谢谢吴姐,但我还想问一下,,,一些需要上传图片的?也是按照那个上传文件那样做还是??

吴姐   get  的网址后面有动态参数怎么办???那是不能循环查询?

TA的精华主题

TA的得分主题

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

老师,我这里运行代码时会弹出如下错误,是否需要添加什么引用,还是需要编写自定义函数ByteToFile?
ByteToFile.jpg

TA的精华主题

TA的得分主题

发表于 2014-11-5 12:30 | 显示全部楼层
VBA万岁 发表于 2014-11-5 10:57
老师,我这里运行代码时会弹出如下错误,是否需要添加什么引用,还是需要编写自定义函数ByteToFile?

回看本帖,解决了——复制11楼的转码函数ByteToFile到代码中即可。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-5 13:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wcymiss 于 2014-11-5 14:17 编辑
liangdonghao922 发表于 2014-11-4 20:38
吴姐,假如抓包这样的地址   get方式     http://www.131458.com/handler/TaobaoInfo.ashx?nickCode=%u4E ...


呃,Token找到算法不难,关键Javascript不熟悉,被那个extend给难了下,最后还是自己草草定义个方法。
  1. Sub Main()
  2.     Dim strText As String
  3.     Dim strJS As String
  4.     Dim Token, c, nickCode
  5.     nickCode = "为y消得人憔悴"
  6.    
  7.     With CreateObject("MSXML2.XMLHTTP")
  8.         .Open "GET", "http://www.131458.com/js/jquery.js?verr=108", False
  9.         .Send
  10.         strText = .responsetext
  11.         
  12.         strJS = Split(strText, "})(window);")(1) '抠出所需Javascript代码
  13.         strJS = "var jQuery={};jQuery.extend=function(a){jQuery.Token=a.Token};" & strJS '定义extend方法
  14.         Token = JSEval(strJS & ";jQuery.Token('" & nickCode & "');") '计算Token值
  15.         
  16.         .Open "GET", "http://www.131458.com/js/taobao.js?ver=1115", False
  17.         .Send
  18.         strText = .responsetext
  19.         c = Split(Split(strText, "token+""&c=")(1), """")(0)

  20.         .Open "GET", "http://www.131458.com/handler/TaobaoInfo.ashx?nickCode=" & JSEval("escape('" & nickCode & "')") & "&token=" & Token & "&c=" & c & "&_=" & Rnd, False
  21.         .Send
  22.         strText = .responsetext
  23.         Debug.Print strText
  24.     End With
  25. End Sub
  26. Function JSEval(s As String) As String
  27.     With CreateObject("MSScriptControl.ScriptControl")
  28.         .Language = "javascript"
  29.         JSEval = .Eval(s)
  30.     End With
  31. End Function
复制代码
这个js文件里的代码前半部分估计和IE6不兼容。否则用htmlfile导入这个文件执行下函数就出来了。现在却要抠来抠去的,还要自己定义extend。

TA的精华主题

TA的得分主题

发表于 2014-11-5 14:00 | 显示全部楼层
请问吴姐,我为什么运行13楼的代码,逐语句到.send就出现错误。
最开始13楼的代码能正常运行,也能取数,后来不知道什么原因死机后,再进来运行13楼的代码就不行了。如图:

运行错误

运行错误

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-5 14:14 | 显示全部楼层
无姓人 发表于 2014-11-5 14:00
请问吴姐,我为什么运行13楼的代码,逐语句到.send就出现错误。
最开始13楼的代码能正常运行,也能取数,后 ...

试试这样:
关闭excel,用IE浏览器,打开那个链接。

如果能打开,就打开excel运行代码,仍然出错的话,估计是excel的问题了。

如果IE打不开,检查下IE里的设置。比如代理服务器什么的,是不是被设置了。

TA的精华主题

TA的得分主题

发表于 2014-11-5 15:23 | 显示全部楼层
網抓實在有太多其他問題了,原來只學了入門,很多網也抓不出來,給大家玩玩,吴姐請不要出手,等大家有興趣而又找不到才出手吧.
http://club.excelhome.net/thread-1163441-1-1.html

TA的精华主题

TA的得分主题

发表于 2014-11-5 16:06 | 显示全部楼层
wcymiss 发表于 2014-10-21 11:33
个人偏爱fiddler的原因:(唠叨话,可略过)

1、fiddler不需要寄生在浏览器中,且可抓到多个浏览器的包。 ...

吴老师,谢谢您的献花,想问个问题
网抓到了图片地址,怎么让图片在表里显示出来?
http://club.excelhome.net/thread-1163537-1-1.html

点评

录个插入图片的宏就知道了。  发表于 2014-11-5 16:17
ActiveSheet.Pictures.Insert "http://www.baidu.com/img/bd_logo1.png"  发表于 2014-11-5 16:16

TA的精华主题

TA的得分主题

发表于 2014-11-5 16:25 | 显示全部楼层
renahu 发表于 2014-11-5 16:06
吴老师,谢谢您的献花,想问个问题
网抓到了图片地址,怎么让图片在表里显示出来?
http://club.excelh ...

谢谢老师,可以插入图片了,太棒了,不知道网上抓来的这个图,是死的还是活的,但愿第二天能够更新

TA的精华主题

TA的得分主题

发表于 2014-11-5 16:28 | 显示全部楼层
wcymiss 发表于 2014-11-5 14:14
试试这样:
关闭excel,用IE浏览器,打开那个链接。

谢谢吴姐!问题解决了!原来是网址不通造成的,现在好了!看来还要加个判断,判断网址通不通
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 22:53 , Processed in 1.058839 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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