Python获取apk文件URL地址实例


Posted in Python onNovember 01, 2013

工作中经常需要提取apk文件的特定URL地址,如是想到用Python脚本进行自动处理。
需要用到的Python基础知识如下:
os.walk()
函数声明:os.walk(top,topdown=True,onerror=None)
(1)参数top表示需要遍历的顶级目录的路径。
(2)参数topdown的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件。当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件。
(3)参数onerror默认值为"None",表示忽略文件遍历时的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
返回值:函数返回一个元组,含有三个元素。这三个元素分别是:每次遍历的路径名、路径下子目录列表、目录下文件列表。
os.walk使用实例:删除某个文件夹(当然可以通过os.listdir的递归调用删除)

#! /usr/bin/env python
#coding=utf-8
import os
def Remove_dir(top_dir):
    if os.path.exists(top_dir)==False:
        print "not exists"
        return
    if os.path.isdir(top_dir)==False:
        print "not a dir"
        return
    for dir_path,subpaths,files in os.walk(top_dir,False):
        for file in files:
            file_path=os.path.join(dir_path,file)
            print "delete file:%s"  %file_path
            os.remove(file_path)
        print "delete dir:%s" %dir_path
        os.rmdir(dir_path)
#调用
Remove_dir(r"C:\Users\Administrator\Desktop\abc")

Python执行系统命令的方法 os.system(),os.popen(),commands.getstatusoutput() 
os.system()无法获得到输出和返回值;
通过os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出,但是得不到返回值。
通过 commands.getstatusoutput() 方法就可以获得到返回值和输出

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo') 
3.  Python中operator模块的contains(...) 函数
contains(a, b) -- Same as b in a (note reversed operands). 判断b是否被a包含 
基础知识介绍完了,可以上代码了:

import os
import operator
import commands
#from signature import *
inputdir = "./tmp"
for path, dir, files in os.walk(inputdir):
    for file in files:
    if not file.endswith('.apk'):
        #print "not apk file."
        continue
    apkpath = os.path.join(inputdir, file)
    cmd = './xxx -d %s' %apkpath
    output = os.popen(cmd)
    s = set()
    #按行查找URL
    for line in output:
        if operator.contains(line, "http://"):
            #print tmp
            start = line.index('''http://''')
            end = line.index('''"''',start) 
            url = line[start:end]
            s.add(url)
    cmd = './yyy -t a.expense.mdk.a.tvd %s' %apkpath
    #获取命令执行结果及返回值
    status, output = commands.getstatusoutput(cmd)
#    print output
    if output.startswith('find'):
        print output
        for url in s:
            if url.find('imei')!=-1:
                print 'url is %s' %url.strip()
        #print '========================='
    s = ''
Python 相关文章推荐
python使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
python进程管理工具supervisor使用实例
Sep 17 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
python获取元素在数组中索引号的方法
Jul 15 Python
python正则表达式的使用
Jun 12 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 Python
python 如何引入协程和原理分析
Nov 30 Python
Python urllib模块urlopen()与urlretrieve()详解
Nov 01 #Python
Python ZipFile模块详解
Nov 01 #Python
python标准日志模块logging的使用方法
Nov 01 #Python
python类定义的讲解
Nov 01 #Python
用实例说明python的*args和**kwargs用法
Nov 01 #Python
python操作MongoDB基础知识
Nov 01 #Python
python操作MySQL数据库具体方法
Oct 28 #Python
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
简单谈谈json跨域
2016/03/13 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
python字典get()方法用法分析
2015/04/17 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
python判断变量是否为列表的方法
2020/09/17 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
师范应届毕业生自荐信
2013/11/18 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
大学生暑期实践报告
2015/07/13 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python