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-11-16 18:49 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
本帖最后由 piaopiaolin 于 2015-11-16 18:51 编辑
wcymiss 发表于 2014-10-22 16:45
获取数据-防盗链的处理-动态参数

相同方式操作网页,抓包能得到相同的参数值,这样的参数是静态的。反之 ...

大师,这种动态参数貌似跟你说的不一样,参数名就是这么个随机数据,我翻页后,那个值就变了。 动态参数.png ,这个网页是动态的,60s刷新一次。

TA的精华主题

TA的得分主题

发表于 2015-11-16 19:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
piaopiaolin 发表于 2015-11-16 18:49
大师,这种动态参数貌似跟你说的不一样,参数名就是这么个随机数据,我翻页后,那个值就变了。,这个网页 ...

额,我把那个参数省略掉,竟然是可以得到我要的数据,什么原理都不懂。。。

TA的精华主题

TA的得分主题

发表于 2015-11-26 10:57 | 显示全部楼层
本帖最后由 VBA万岁 于 2015-11-26 11:51 编辑
wcymiss 发表于 2014-11-1 17:13
上传文件
同样,上传文件也可以用fiddler抓包。


在老师的代码基础上,写了一个批量上传活动工作表截图的代码:

Sub 批量上传截图至ExcelHome()
Const Uid As String = "......"
Const Hash As String = "......"
Dim Shp As Shape
Dim Msg, PicName, Boundary As String
Dim n%
Dim SendData
   
Msg = ActiveWorkbook.FullName & "-" & ActiveSheet.name & ":" & Chr(10)
For Each Shp In ActiveSheet.Shapes
    n = n + 1
    Shp.Select
    Selection.name = "myPic"
    Selection.Copy
    ActiveSheet.Shapes("myPic").Delete
    ActiveSheet.PasteSpecial Format:="图片 (JPEG)"
    PicName = "P" & Format(Date, "yyyymmdd" & Format(n, "00"))
    Msg = Msg & PicName & Chr(10)
    Selection.CopyPicture
    With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width + 2, Selection.Height + 2).Chart
        .ChartArea.Border.LineStyle = 0
        .Paste
        .Export ActiveWorkbook.Path & "\" & PicName & ".jpg", "JPG"
        .Parent.Delete
    End With
    Selection.Delete
  
    Boundary = GetBoundary()
    SendData = GetUpLoadSendData(Boundary, ActiveWorkbook.Path & "\" & PicName & ".jpg", _
        "Filename", PicName & ".jpg", _
        "proid", "0", _
        "hash", Hash, _
        "uid", Uid, _
        "title", PicName, _
        "filetype", "rar", _
        "Filedata", PicName & ".jpg", _
        "Upload", "Submit Query")
        
    With CreateObject("MSXML2.XMLHTTP")
        .Open "POST", "http://club.excelhome.net/misc.php?mod=swfupload&fid=2&action=swfupload&operation=upload", False
        .setRequestHeader "Content-Type", "multipart/form-data; boundary=" & Boundary
        .Send SendData
        'Debug.Print .responsetext
    End With
   
    Dim Fso As Object
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Fso.DeleteFile (ActiveWorkbook.Path & "\" & PicName & ".jpg")
Next
MsgBox "图片:" & Msg & "上传完毕!", , "上传图片"
End Sub

TA的精华主题

TA的得分主题

发表于 2015-11-30 10:56 | 显示全部楼层
请教wcymiss老师:

登陆139邮箱时抓包,如下图:

捕获.PNG

其中的cguid值每次都不一样,怎样计算(得到)该值?

谢谢!

TA的精华主题

TA的得分主题

发表于 2015-11-30 17:20 | 显示全部楼层
wcymiss 发表于 2014-10-22 16:56
再上一个动态参数的例子:

网站:http://www.abchina.com/cn/Public ... t20101217_45743.htm

仔细学习了一下,但是还是有许多困惑例如http://www.landchina.com/default.aspx?tabid=263目标网址中要指定条件:签订日期2015-01-01到2015-12-31,行政区为:眉山市的如何提取列表中的二级页面中的表格数据?
思考了一个礼拜实在没有答案盼望大师指点迷津!(自己的一点理解这是一个动态网页,如何将指定查询条件带入查询参数?如何提取二级页面的表格?)

TA的精华主题

TA的得分主题

发表于 2015-12-6 19:30 | 显示全部楼层
内容很丰富,很适合初学者,需要慢慢消化了,希望能学有所得。

TA的精华主题

TA的得分主题

发表于 2015-12-7 10:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
内容很好,感觉有些高深

TA的精华主题

TA的得分主题

发表于 2015-12-7 10:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
dengxu 发表于 2015-11-30 17:20
仔细学习了一下,但是还是有许多困惑例如http://www.landchina.com/default.aspx?tabid=263目标网址中要 ...

POST数据中,有一个参数TAB_QuerySubmitPagerData为页号

TA的精华主题

TA的得分主题

发表于 2015-12-7 10:44 | 显示全部楼层
lzlichun 发表于 2015-11-30 10:56
请教wcymiss老师:

登陆139邮箱时抓包,如下图:

既然是动态值,肯定出现在之前某一个网页中,可以找找

TA的精华主题

TA的得分主题

发表于 2015-12-15 19:37 | 显示全部楼层
VBA万岁 发表于 2014-10-23 15:12
百度结果:
http://zhidao.baidu.com/link?url=-9S1gJlPKiBWbC-e_wBQ8lQUI409P4xuGZ-wtvLjLUZzvwEyDNbpF ...

Sub 删除缓存()
    Dim objSHELL As Object
    Dim BuffDir$
    Set objSHELL = CreateObject("Shell.Application")
    BuffDir = objSHELL.Namespace(32).Self.Path
    Kill BuffDir & "\*.*"
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 00:50 , Processed in 1.064355 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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