火狐的书签备份默认使用的是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键,如果有的话,那么就说明有子目录