使用python解析Wordpress导出的xml文件

在用wordpress导出日志时,得到的往往是xml文件,具体形式如下:







-


-

又一个无知的我

http://zhaoxinfan.wordpress.com

一个人要像一支队伍,对着自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由

Sun, 20 Jul 2014 01:52:09 +0000

en

1.2

http://wordpress.com/

http://zhaoxinfan.wordpress.com


-

felven2011

[email protected]


-






-






-








-

49802233

nav_menu

felven


-








-

133338631

nav_menu

header


-







http://wordpress.com/


-

https://secure.gravatar.com/blavatar/8d58061bb9bddb3c120363045033f1a2?s=96&d=https%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png

又一个无知的我

http://zhaoxinfan.wordpress.com




-

十天之后蓦然回首

http://zhaoxinfan.wordpress.com/2007/09/06/%e5%8d%81%e5%a4%a9%e4%b9%8b%e5%90%8e%e8%93%a6%e7%84%b6%e5%9b%9e%e9%a6%96/

Thu, 06 Sep 2007 03:29:29 +0000

felven2011

http://felven.blogcn.com/?p=1793




-






-





1793

2007-09-06 11:29:29

2007-09-06 03:29:29

open

open

%e5%8d%81%e5%a4%a9%e4%b9%8b%e5%90%8e%e8%93%a6%e7%84%b6%e5%9b%9e%e9%a6%96

publish

0

0

post



0


-






-

_publicize_pending


-








-

ratings_users


-








-

ratings_score


-








-

ratings_average


-








-

_wp_old_slug


-








-

edg_digg_count


-








-

original_post_id


-








-

_wp_old_slug


-








对于用户来说,需要的仅仅是日志标题和内容。为了得到这些数据,最简单的方法是使用python对xml文件进行解析,然后把解析得到的数据保存到另一个文件中,具体做法如下:

from xml.dom.minidom import parse
import xml.dom.minidom

def parse(wordpress_file):
	
	DOMTree = xml.dom.minidom.parse(wordpress_file);
	collection = DOMTree.documentElement;
	posts = collection.getElementsByTagName("item");

	for post in posts:
		output.write("***********************"+"\n")
		title = post.getElementsByTagName('title')[0];
		print "Title: %s" % title.childNodes[0].data;
		output.write("Title"+"\t"+title.childNodes[0].data.encode('utf-8').strip()+"\n");
			
		content = post.getElementsByTagName('content:encoded')[0];
		print "Content: %s" % content.childNodes[0].data;
		output.write("Content"+"\t"+content.childNodes[0].data.encode('utf-8').strip()+"\n");
		
###############################################################################

if __name__=="__main__":
	output = open('E:\\w1.txt', 'w+')
	parse("E:\\w1.xml")
	output.close()

得到的结果如下:

***********************
Title	十天之后蓦然回首
Content	说实话,真不知道十天后我会怎样。

   拖着沉重的旅行箱,和父母一起登上北上的火车,这或许意味着大学生涯的开始。当我站在宿舍楼门前,望着父母远去的背影时,我会有怎样的感觉?恐怕脱离父母独自生活的新鲜感早已被无限的依恋所笼罩了吧。

   十天,240个小时,折算成秒数字大的可以过万。也不过是几十万而已,与过去的18年相比,这只不过是湖中的一滴水。不知那些已在军训的朋友会在这最后十天内做些什么。试图记住家的样子和每一件物品的摆放地?记住书橱里的每一本书的名字,无论看没看过?厚厚的影集我不知翻过多少遍,今早在整理东西时,偶尔发现初中毕业合影。望着上面的自己,脑中忽闪出一句话,烈士暮年,壮心不已。我又不是烈士,还没到暮年呢。暗自觉得自己想法的可笑。

   母亲老在耳边唠叨,等到送我去,他们走的时候,我一定会哭的。什么啊?我才不会哭呢。我一个人离家越远越好。暗暗嘲笑母亲的担心多余。晚上收到一条短信,是一个上苏大的朋友。他说他在和母亲分别的时候哭了,离家后的第一个晚上,他失眠了。当时我心里吃了一惊,他在家时是那样的充满激情,可现在……或许大一新生最难接受的局面是与家的分离。一个人心理成熟与否可以从他对家的依恋程度反映出来。十天以后,我就要面对这样的考验了。

   不过,十天后的我到底是怎样离家的还是个未知数。在与父母分离时我会不会哭仍然是个迷。试想象一下,十天以后的某个时刻,在某个学生宿舍门口,一个1米79的学生,睁大眼睛向南眺望,同时在脑中搜寻家的美好记忆。我会不会是他呢?当他看累了,眼睛发胀,脑子转不动了时,蓦然回首,突然他发现,家就在他身边,就在他四周,在他的心中。

   原来我与家是藕断丝连的,我永远也离不开家的温暖怀抱。

经过这样的操作,就能够把wordpress导出的文件处理为自己需要的结果了,如果还需要类别或发表时间等其他字段,只需要在相应的位置添加解析操作即可。总而言之,使用python解析xml确实很简单,这完全得益于python强大的类库。


你可能感兴趣的:(程序人生)