Python获取apk文件URL地址实例

 更新时间:2013年11月01日 10:22:39   作者:  
需要提取apk文件的特定URL地址的朋友可以看一下这个代码实例。

工作中经常需要提取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实现简单的人脸识别系统

    这篇文章主要介绍了如何通过Python实现一个简单的人脸识别系统,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以跟随小编一起试一试
    2022-01-01
  • 25个值得收藏的Python文本处理案例

    25个值得收藏的Python文本处理案例

    这篇文章主要给大家分享的是25个值得收藏的Python文本处理案例。Python 处理文本是一项非常常见的功能,本文整理了多种文本提取及NLP相关的案例,还是非常有收藏价值的,文章很长,可以收藏起来,总会用到的
    2022-02-02
  • 利用python提取wav文件的mfcc方法

    利用python提取wav文件的mfcc方法

    今天小编就为大家分享一篇利用python提取wav文件的mfcc方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中给List添加元素的4种方法分享

    Python中给List添加元素的4种方法分享

    这篇文章主要介绍了Python中给List添加元素的4种方法分享,本文讲解了append()、extend()、insert()、加号等4个方法,并给出了操作实例,需要的朋友可以参考下
    2014-11-11
  • 介绍Python的@property装饰器的用法

    介绍Python的@property装饰器的用法

    这篇文章主要介绍了介绍Python的@property装饰器的用法,是Python学习进阶中的重要知识,代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • python3+PyQt5+Qt Designer实现界面可视化

    python3+PyQt5+Qt Designer实现界面可视化

    本文主要介绍了python3+PyQt5+Qt Designer实现界面可视化,Qt Designer,用鼠标拖拖就能完成窗体设计,感兴趣的可以了解一下
    2021-06-06
  • python 使用pandas同时对多列进行赋值

    python 使用pandas同时对多列进行赋值

    这篇文章主要介绍了python 使用pandas同时对多列进行赋值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python爬取Coursera课程资源的详细过程

    Python爬取Coursera课程资源的详细过程

    这篇文章主要介绍了Python爬取Coursera课程资源的详细过程,需要的朋友可以参考下
    2014-11-11
  • Python使用PyCrypto实现AES加密功能示例

    Python使用PyCrypto实现AES加密功能示例

    这篇文章主要介绍了Python使用PyCrypto实现AES加密功能,结合具体实例形式分析了PyCrypto实现AES加密的操作步骤与相关实现技巧,需要的朋友可以参考下
    2017-05-05
  • Python基于pandas爬取网页表格数据

    Python基于pandas爬取网页表格数据

    这篇文章主要介绍了Python基于pandas获取网页表格数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论