我目前手动导出数据,但需要自动化流程。
使用Fiddler发生的一系列操作如下。
如何使用wget,cURL,python或PERL自动执行此操作?
日期和时间符合时代标准。
获取请求
Archive.cgi?cmd=check_dst&start_time=1400889660&end_time=1400975940&cam=255&username=QkFCWVo=&rnd=6798
它返回以下XML响应
<result>4</result>
下一个请求是
Archive.cgi?cmd=query&cam=255&start_time=1400889660&end_time=1400975940&dst=2&level=0&username=QkFCWVo=&rnd=6825
使用XML响应
<Archive_Query><result>1</result><Size>10100</Size><st>0x537fe086</st><et>0x53808133</et><Stream_num>0</Stream_num></Archive_Query>
接下来是下一个GET请求
Archive.cgi?cmd=register_stream&login_id=201442411242611&rnd=1810
返回以下XML响应
e6b1a0dc54334bef07e695f5b5640c3a
随后是最终的GET请求
Archive.cgi?cmd=archive_ctrl&action=cancel&stream_id=e6b1a0dc54334bef07e695f5b5640c3a&username=QkFCWVo=&rnd=675
返回以下XML输出
<result>1</result>
答案 0 :(得分:1)
对于Python
,我建议合并requests
库以执行GET
并获取响应数据,然后合并XML Parser
,例如ElementTree({{ 3}})解析XML。
requests
原生处理JSON
数据,但XML
数据需要与XML parser
合并。
对于URL中的时间戳方面,请查看datetime
类,特别是strftime
方法,以特定方式格式化时间戳,如果需要逐步动态计算时间(例如,每个小时或某物),timedelta
方法。
对于纯epoch
时间,请查看gmtime()
或localtime()
个功能。
编辑:回应OP的评论:
requests
doc。示例,请点击此处:https://docs.python.org/2/library/xml.etree.elementtree.html
上面的链接(http://docs.python-requests.org/en/latest/)中还有ElementTree
的示例。
datetime
doc,示例:https://docs.python.org/2/library/xml.etree.elementtree.html