调用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. 网络请求处理:...
1. Python基础:Python是用于编写脚本的首选语言之一,其简洁明了的语法和丰富的库支持使得编写GIS脚本变得简单。了解Python的基本语法,如变量、数据类型、控制结构(如循环和条件语句)、函数定义以及错误处理,是...
arcmap-数据处理-批量合并GDB的python脚本
本文主要介绍了SecureCRT这款软件如何运行Python脚本来测试IoT-WiFi模块,涉及的主题包括SecureCRT的基本使用、Python脚本的执行、以及SecureCRT中实现的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的...
批量合并MDB的python脚本
在"30个Python入门脚本下载"中,你可以找到一系列的Python源码,涵盖了Python编程的基础概念,有助于快速掌握这门语言。 1. **文件操作**: - `c26_Read and write using pickle.py`:Pickle模块是Python中的序列...
【京东抢茅台Python脚本】是一个利用Python编程语言编写的自动化工具,主要用于在京东平台上自动参与茅台酒的抢购活动。这个脚本的目的是通过自动化的方式提高抢购成功率,节省用户手动操作的时间,并且根据描述,它...
基于 selenium 自动注册apple id的python 脚本(下载即用).zip 1.浏览器模拟提交表单。 完成 2.自动输入表单信息。 完成 3.判断图片验证码。(识别验证码没实现,现在是保存验证码图片,并手动在控制台输入。 ...
在IT领域,有时候我们需要在不同的编程语言之间进行交互,例如在C++中调用Python脚本,以便利用Python丰富的库和便利性。本篇将详细解释如何在C++环境中使用Qt框架来调用Python脚本,并提供一些关键知识点。 首先,...
excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化python脚本 excel自动格式化...
使用Python脚本建立ArcGIS工具 ArcGIS是一个功能强大的地理信息系统(GIS),它提供了丰富的工具和功能来处理、分析和可视化地理数据。Python脚本是ArcGIS中的一种强大工具,它允许用户自定义自己的工具和模型,以...
3dSlier是一款医学图像处理的软件...因为最近在学习3DSlicer 的Python脚本编程,但是却因为官网的教程太过于零散而感到苦恼,所以特意仔细的整理了3Dslicer官网上有关Python脚本编程的资料。贡献出来,供大家使用学习。
Python脚本,使用Selenium 模拟浏览器操作。 在使用 Chrome 浏览器,用户可以使用鼠标滑动、按键点击以及键盘输入,作为信号输入设备向浏览器传达指令,浏览器收到指令后执行渲染。 这里提到的 Selenium WebDriver ...
标题中的“自动下载喜马拉雅的Python脚本”是指利用Python编程语言编写的一段程序,它的主要功能是自动化地从喜马拉雅平台下载音频资源。喜马拉雅是中国一个知名的在线音频分享平台,提供了丰富的有声书、音乐、电台...
很好的python脚本,如何用CRT工具开启serial,命令交互等!
在实际操作中,Python脚本还可以集成错误处理和日志记录功能,确保部署过程的稳定性和可追踪性。例如,当下载或配置过程中发生错误时,脚本应能够捕获异常并生成日志,帮助管理员定位问题。 总之,通过使用Python...
在实际操作中,首先,你需要下载并安装IronPython 2.7.7的MSI文件。安装过程中,系统会自动添加必要的环境变量,使得命令行或者IDE能够识别IronPython。接着,确保你已经安装了Visual Studio 2013,并且配置好Python...