调用API获得下载地址
文档位置在这里
设置自己的应用和下载参数
请求中需要设置的变量如下
api_url = 'http://dloadcenter.sae.sina.com.cn/interapi.php?'
appname = 'xxxxx'
from_date = '20140101'
to_date = '20140116'
url_type = 'http' # http|taskqueue|cron|mail|rdc
url_type2 = 'access' # only when type=http access|debug|error|warning|notice|resources
secret_key = 'xxxxx'
生成请求地址
请求地址生成方式可以看一下官网的要求:
- 将参数排序
- 生成请求字符串,去掉
&
- 附加access_key
- 请求字符串求md5,形成sign
- 把sign增加到请求字符串中
具体实现代码如下
params = dict()
params['act'] = 'log'
params['appname'] = appname
params['from'] = from_date
params['to'] = to_date
params['type'] = url_type
if url_type == 'http':
params['type2'] = url_type2
params = collections.OrderedDict(sorted(params.items()))
request = ''
for k,v in params.iteritems():
request += k+'='+v+'&'
sign = request.replace('&','')
sign += secret_key
md5 = hashlib.md5()
md5.update(sign)
sign = md5.hexdigest()
request = api_url + request + 'sign=' + sign
if response['errno'] != 0:
print '[!] '+response['errmsg']
exit()
print '[#] request success'
下载日志文件
SAE将每天的日志文件都打包成tar.gz的格式,下载保存下来即可,文件名以日期.tar.gz
命名
log_files = list()
for down_url in response['data']:
file_name = re.compile(r'\d{4}-\d{2}-\d{2}').findall(down_url)[0] + '.tar.gz'
log_files.append(file_name)
data = urllib2.urlopen(down_url).read()
with open(file_name, "wb") as file:
file.write(data)
print '[#] you got %d log files' % len(log_files)
合并文件
合并文件方式用trafile库解压缩每个文件,然后把文件内容附加到access_log下就可以了
# compress these files to access_log
access_log = open('access_log','w');
for log_file in log_files:
tar = tarfile.open(log_file)
log_name = tar.getnames()[0]
tar.extract(log_name)
# save to access_log
data = open(log_name).read()
access_log.write(data)
os.remove(log_name)
print '[#] all file has writen to access_log'
相关推荐
SAE日志下载合并流程主要涉及以下几个知识点: 1. Python脚本编程基础:本文涉及到Python语言的基础语法和结构,如字典的使用、循环结构、字符串处理等,以及利用Python的内置库完成特定功能。 2. 网络请求处理:...
arcmap-数据处理-批量合并GDB的python脚本
安装Python解释器:首先需要确保系统中安装了Python解释器,可以从Python官方网站下载并安装。 编写Python脚本:创建一个包含所需功能的Python脚本文件。例如,假设有一个名为"script.py"的Python脚本,其中包含了...
下载Android源代码的Python脚本,原文的链接: http://blog.csdn.net/a_flying_bird/article/details/25505019 直接从网页上拷贝Python代码的时候,每行前面会多4个空格,导致脚本没法执行。为此,还需要编一个小...
本资源“C++调用Python脚本(例程)”提供了一个完整的工程实例,演示了如何在C++程序中动态地调用Python脚本,使得C++能够利用Python的灵活性和便利性。 在C++中调用Python脚本主要有两种方法:一种是通过Python的...
基于 selenium 自动注册apple id的python 脚本(下载即用).zip 1.浏览器模拟提交表单。 完成 2.自动输入表单信息。 完成 3.判断图片验证码。(识别验证码没实现,现在是保存验证码图片,并手动在控制台输入。 ...
【京东抢茅台Python脚本】是一个利用Python编程语言编写的自动化工具,主要用于在京东平台上自动参与茅台酒的抢购活动。这个脚本的目的是通过自动化的方式提高抢购成功率,节省用户手动操作的时间,并且根据描述,它...
3dSlier是一款医学图像处理的软件...因为最近在学习3DSlicer 的Python脚本编程,但是却因为官网的教程太过于零散而感到苦恼,所以特意仔细的整理了3Dslicer官网上有关Python脚本编程的资料。贡献出来,供大家使用学习。
Python脚本,使用Selenium 模拟浏览器操作。 在使用 Chrome 浏览器,用户可以使用鼠标滑动、按键点击以及键盘输入,作为信号输入设备向浏览器传达指令,浏览器收到指令后执行渲染。 这里提到的 Selenium WebDriver ...
Python脚本编辑器是Python编程初学者的重要工具,它提供了友好且高效的代码编写环境,使得编写、测试和调试Python程序变得更加便捷。IDLE是Python的标准集成开发环境(IDE),是初学者入门Python编程的首选编辑器。...
很好的python脚本,如何用CRT工具开启serial,命令交互等!
在实际操作中,首先,你需要下载并安装IronPython 2.7.7的MSI文件。安装过程中,系统会自动添加必要的环境变量,使得命令行或者IDE能够识别IronPython。接着,确保你已经安装了Visual Studio 2013,并且配置好Python...
《面向ArcGIS的Python脚本编程》是一本指导ArcGIS for Desktop专业用户进行Python开发的指南。该书将教会您如何通过编写Python代码处理空间数据并在ArcGIS中自动化实现地理处理任务。读者在学习完本书后,可以根据...
python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目...
8. **版本控制**:结合Git等版本控制系统,Python脚本可以自动化处理Verilog代码的版本管理和合并,确保团队协作时的代码一致性。 9. **数据分析**:在硬件性能评估或优化阶段,Python可以用来处理仿真结果,进行...
【华西抢号Python脚本】是一个利用Python编程语言编写的程序,主要目的是为了自动执行在华西医院挂号流程中的各种任务,以提高抢号效率。在医疗资源紧张的当下,这种脚本对于需要定期预约挂号的人来说具有很高的实用...
文件合并脚本 python 文件合并脚本 python
zabbix微信发送告警python脚本,微信发送告警需要先申请企业微信号
python脚本文件夹间复制,python脚本文件夹间复制,python脚本文件夹间复制