ofd文件解析步骤

  • 参考文档

  • 1、先import zipfile解压ofd文件,获得xml文件,然后在浏览器打开xml文件即可看到内容


  • 2、再通过import xmltodict解析xml文件

  • 3、完整代码如下

    # encoding: utf-8import zipfile
    import xmltodict
    import requests
    import os
    import shutildef unzip_file(zip_path, unzip_path=None):""":param zip_path: ofd格式文件路径:param unzip_path: 解压后的文件存放目录:return: unzip_path"""if not unzip_path:unzip_path = zip_path.split('.')[0]with zipfile.ZipFile(zip_path, 'r') as f:for file in f.namelist():f.extract(file, path=unzip_path)return unzip_pathdef parse_ofd(content, path):""":param content: ofd文件字节内容:param path: ofd文件存取路径"""with open(path, "wb") as f:f.write(content)file_path = unzip_file(path)xml_path = f"{file_path}/OFD.xml"data_dict = {}with open(xml_path, "r", encoding="utf-8") as f:_text = f.read()tree = xmltodict.parse(_text)# 以下解析部分for row in tree['ofd:OFD']['ofd:DocBody']['ofd:DocInfo']['ofd:CustomDatas']['ofd:CustomData']:data_dict[row['@Name']] = row.get('#text')shutil.rmtree(file_path)os.remove(path)return data_dictheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    }
    ofd_url = "http://222.143.33.74/spyx_api/storage/upload/qianzhang/988d08768b3d462fa16de7a5c62722e0.ofd"
    res = requests.get(ofd_url, headers=headers)
    _data_dict = parse_ofd(res.content, f'E://{ofd_url.split("/")[-1]}')
    print(_data_dict)
    

Python解析ofd文件相关推荐

  1. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★

    文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...

  2. [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  3. Python解析json文件

    Python解析json文件 实现代码 import json import sysstdout = sys.stdoutwith open("company.json", &qu ...

  4. python解析xml文件最好选用的模块_用Python解析XML文件

    本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...

  5. python解析dat文件生成xlsx文件

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 python解析dat文件生成xlsx文件 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ...

  6. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )

    文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...

  7. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  8. python解析log文件_python解析基于xml格式的日志文件

    大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我 ...

  9. python 解析xml 文件: SAX方式

    环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...

  10. python解析xml文件选用模块_Python标准库系列之xml模块

    Python's interfaces for processing XML are grouped in the xml package. 带分隔符的文件仅有两维的数据:行和列.如果你想在程序之间交 ...

最新文章

  1. java并发vol_java 并发中 volitile、synchronized和lock的比较(一)
  2. “偷懒”上热搜!南京大三学生自制宿舍关灯神器火了,网友:希望量产
  3. 宏基因组理论教程2扩增子分析
  4. NoSql数据库使用半年后在设计上面的一些心得
  5. 【Mongodb】如何创建mongodb的replica set
  6. python如何与其他软件交互_如何与Python中的另一个程序交互?
  7. aes算法实现c语言_消息摘要算法MD5图解及C语言实现
  8. C语言--第一周作业(更改)
  9. 打印菱形 java_怎么用java打印菱形?
  10. 网络渗透就业学习路线
  11. 朗文当代英英词典(LDOCE5)Mac端
  12. 您仅仅是一个可雕刻的榆木疙瘩。。。
  13. C语言怎么用键盘复制,怎样复制粘贴,复制粘贴的快捷键.docx
  14. 【C语言进阶篇】动态内存分配和数组的动态内存分配
  15. 火车头采集器计划任务设置时间间隔无效问题解决
  16. vue 项目实践 -ele 表单验证
  17. html snippets怎么配置,Import HTML snippets in HAML?
  18. 北京2008福娃2图标
  19. 神州数码牵手国内最大远程接入平台提供商
  20. python爬虫网页文字游戏_python爬虫下载某网站156个网页小游戏素材

热门文章

  1. matlab符号函数作图,matlab符号函数的作图
  2. 用VBA自动整理系统导出的订单
  3. Hybrid Astar 算法剖析和实现(三)
  4. 简易PROTUES的定时器仿真
  5. java 针式打印_JAVA针式打印机打印整理
  6. vpp之node节点分析一: dual类型节点
  7. Java 框架、库和软件的精选列表(Awesome Java)
  8. WIN7系统下Mapgis6.7常见的两个问题及解决办法
  9. java mdb连接_[Java]如何连接一个带密码的mdb文件?
  10. ASP.NET的gridview设置数据格式DataFormatString(链接)