现在的位置: 首页 > 综合 > 正文

使用python解析火狐的书签备份文件

2013年10月05日 ⁄ 综合 ⁄ 共 1624字 ⁄ 字号 评论关闭

火狐的书签备份默认使用的是json格式,当然也可以导出为html的文件格式。这里分析的是json格式的数据备份

   其书签管理结构如下:

可见,实际需要分析的是书签菜单这个下面的信息

在右边的列表中可以发现

第一个是google翻译,这个很明显,那么第二项是什么呢?

首先,我们可能会说是 获取书签附加项 这个

可视实际,经过我分析,发现,其第二项是那个横线的数据,第三项才是
获取书签附加项

 

于是这里可以分析获得,在这个json文件中 横线也是一个项目被存储了。

所以我们可以直接开始分析从
QQ
网址大全后面的开始

QQ网址大全这个是第5,0开始就为4

 

分析,首先我们需要找到 左边的书签菜单这个结构

可以这样

f= open(r'c:/Bookmarks 2009-07-30.json','r')

#先打开这个文件

s=f.read()#获取数据

f.close()

null=''#文件中有很多空信息用了null代替,所以这里用来替代一下

s=s.decode('utf8')#默认用了utf8编码,解码一下

m=eval(s)#换成字典形式

BookmarkMenuList=m['children']#这里获得的就是上面的 书签菜单那个结构

BookmarkMenuList[0][ 'children']这个获得的就是右边的列表中的信息结构了

BookmarkMenuList[0][ 'children']
[4]['title']#
这个就是QQ网址大全信息

 

 

l=len(md)

j=5

while j < l:

  
childm=md[j]

  
print childm['title']

  
j+=1

这里就能够输出所有的右边列表的信息了

每个childm的结构都如:

{'index': 6, 'dateAdded':
1226482114234375L, 'parent': 2, 'title': '[ 32bits.co.uk ] Coding for real
people!', 'lastModified': 1226482114234375L, 'annos': [{'mimeType': '', 'name':
'bookmarkProperties/description', 'expires': 4, 'value': '', 'flags': 0,
'type': 3}], 'charset': 'ISO-8859-1', 'uri':
'http://www.thehavok.co.uk/scene/32bits/tutorials/directx/thebasics2/tut1bitmap.php',
'type': 'text/x-moz-place', 'id': 113}
这样,结构中是否有children键,如果有的话,那么就说明有子目录

 

 


 

抱歉!评论已关闭.