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 对象中的数据类型
May 13 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
python实现雨滴下落到地面效果
Jun 21 Python
基于python实现简单日历
Jul 28 Python
python实现汽车管理系统
Nov 30 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
python调用摄像头拍摄数据集
Jun 01 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
python中pow函数用法及功能说明
Dec 04 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 向访客和爬虫显示不同的内容
2009/11/09 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php中opendir函数用法实例
2014/11/15 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
js实现随机8位验证码
2020/07/24 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
Python中关于使用模块的基础知识
2015/05/24 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
详解python里的命名规范
2018/07/16 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
Python笔记之代理模式
2019/11/20 Python
为什么python比较流行
2020/06/19 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
美国性感内衣店:Yandy
2018/06/12 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
通息工程毕业生自荐信
2013/10/16 职场文书
校运会广播稿100字
2014/01/27 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
实名检举信范文
2015/03/02 职场文书
职工食堂管理制度
2015/08/06 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
MySQL数据库 安全管理
2022/05/06 MySQL