ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

    [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-18 15:14 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
onthetrip 发表于 2014-11-17 23:21
我查看了收件箱,没有发送成功debug.print 的数据:
手工发送邮件成功的话,会有一个New Page 1的新窗口,提示 ...


发邮件肯定要先登录吧。但是你的代码中我没有找到相关登录的代码,也没有找到标识发件人身份的变量。(我的示例上传代码,标识发件人身份的是hash码。)

你最好清除浏览器缓存、cookie、历史记录后抓个登录并发送带附件的邮件的包。然后把这个包作为帖子附件发上来。(fiddler菜单里,File-Save即可保存抓包为文件)

另外,我看你代码里发送的内容比抓包里少了些。测试的时候,先模拟完全了,成功之后再考虑精简。





TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-18 15:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
renahu 发表于 2014-11-18 10:47
吴老师:
58同城这个例子中,共有4个JS文件,其中两个js文件地址是通过搜索函数名getm32str,getm16str, ...

getm32str函数所在js文件名:
https: //passport.58.com/js/v6/source/828ef34c77a2cbed693ba874ce570dfe.js?version=0.0.2
这个文件,里面有一串字母数字混合的字符串,我担心它会变动,所以搜索“828ef34c77a2cbed693ba874ce570dfe”,结果在下面这个js文件的responsetext里找到了它:https: //passport.58.com/static/ppt/js/5_1/comm_js/boot_passport_version.js


js文件:https: //passport.58.com/rsa/ppt_security.js
这个js文件的代码包含了JQuery的语法,所以必须下载JQuery文件,即:https: //passport.58.com/static/js/5_1/jquery1.3.2.js

TA的精华主题

TA的得分主题

发表于 2014-11-18 15:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-11-18 16:42 | 显示全部楼层
本帖最后由 VBA万岁 于 2014-11-18 16:46 编辑

是的,
学习html强力推荐此网站:http://www.w3school.com.cn/ ,绝对权威。
感觉老师在本帖中所说的每一句话在后面都会用到!

TA的精华主题

TA的得分主题

发表于 2014-11-19 17:02 | 显示全部楼层
wcymiss 发表于 2014-10-21 13:19
常用代码及自定义函数:

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

老师,我用6个转码函数中的encodeURI测试以下回帖中的网址字符串“HTTP://www.apabi.com/ValidateCode.aspx”,结果如下:
HTTP%3A%2F%2Fwww.apabi.com%2FValidateCode.aspx
似乎只能将英文符号及汉字转化为实体字符串(即带百分号的字符串),而不能将英文字母转换,数字干脆就不见了。其它转码函数都不成功(有的为空,有的出错)。不知为何?


发表于 2014-11-19 10:31:33 |只看该作者 |(自己)
★财务、会计、人力资源、行政、生管、销售、市场、学校管理:Excel 行业应用系列视频课程精彩放送中★
本帖最后由 VBA万岁 于 2014-11-19 10:35 编辑
VBA万岁 发表于 2014-11-18 16:22
终于在以下网址找到更为详尽的介绍了:

http://www.w3school.com.cn/tags/html_ref_urlencode.html
...


索性自已根据160楼链接网页中的表格数据编了个自定义函数用于将常用的网址字符串转义为“\u00**”形式的字符串(想必论坛中有现成的转义函数,但我没搜到,若有谁知道,望告知):

Function URLencode(strASCII As String) As String
Dim arr, i, n
Const str As String = "123456789012345678901234567890123456789@ABCDEFGHIPQRSTUVWXY`abcdefghipqrstuvwxy01234567890123456789001*+,-./:;<=>?JKLMNOZ[\]^_jklmnoz{|}~ 345678"
arr = Array("a", "b", "c", "d", "e", "f")
For i = 1 To Len(strASCII)
    n = InStr(str, Mid(strASCII, i, 1))
    If n <= 90 Then URLencode = URLencode & "\u00" & n Else URLencode = URLencode & "\u00" & Int((n - 91) / 6) & arr((n - 91) Mod 6)
Next
End Function

Sub test()
    MsgBox URLencode("HTTP://www.apabi.com/ValidateCode.aspx")
End Sub

以上代码中常数变量str中的数字可根据实际情况而用其它字符取代——如“$”转义后为“\u0024”,则可将第3(即:2+1)个4用“$”替代。



点评

看20楼  发表于 2014-11-20 10:43

TA的精华主题

TA的得分主题

发表于 2014-11-19 17:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wcymiss 发表于 2014-10-27 14:05
JSON转换成vba对象

1、JSON数组在vba内需要用For Each来获取其元素:(For Each 后面的变量不能定义为Ob ...

老师好,想请教一下,json数组如果key值不确定怎么处理?我要程序循环处理!
比如你这个第一次循环是 {""name"":""甲儿"",""age"":10}  
但第二次就成了{""name1"":""张三"",""年级"":10}
第三次也是不一样的,我不知道怎么处理,望指导一下!
谢谢

TA的精华主题

TA的得分主题

发表于 2014-11-19 19:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 onthetrip 于 2014-11-19 21:06 编辑
wcymiss 发表于 2014-11-18 15:14
发邮件肯定要先登录吧。但是你的代码中我没有找到相关登录的代码,也没有找到标识发件人身份的变量。( ...

哦,要先登录啊,看到您的举例没有登录代码,我还想当然地以为代码也会自然利用浏览器登录后的数据呢.:)
那我先用代码登录试试,有问题再请教您,谢谢.

TA的精华主题

TA的得分主题

发表于 2014-11-19 19:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 onthetrip 于 2014-11-19 20:56 编辑

吴姐,以用户名搜索找不到登录的包,不知道什么原因,只能搜索到登录后的数据.

点评

我前天把代码发你邮件了  发表于 2014-11-23 04:40

TA的精华主题

TA的得分主题

发表于 2014-11-19 23:33 | 显示全部楼层
suwenkai 发表于 2014-10-21 22:18
第一题

大哥,我弱弱的问一句,你这么知道这是第几个table 啊,set tb=html.all.tags("table")(1).rows

点评

数的  发表于 2014-11-20 11:38

TA的精华主题

TA的得分主题

发表于 2014-11-20 08:17 | 显示全部楼层
wcymiss 发表于 2014-11-18 15:30
getm32str函数所在js文件名:
https: //passport.58.com/js/v6/source/828ef34c77a2cbed693ba874ce570df ...

谢谢老师回复,老师我觉得这个问题,用一般的去缓存的方法不能解决,我专门发了个帖子,您有空看看:
如何达到相当于关闭excel来清除缓存的效果?
http://club.excelhome.net/thread-1166968-1-1.html
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-26 15:52 , Processed in 0.039786 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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