我正在尝试从嵌套标签中提取文本,例如 xml 的格式为:
<thread id = 1_1>
<post id = 1>
<title>
<ne>MediaPortal</ne> Install Guide
</title>
<content>
<ne>MediaPortal</ne> Install Guide 0. Introduction and pre-requisites
<ne>MediaPortal</ne> is an open-source and free full-fledged <ne>HTPC</ne>
front-end. It does everything you can ask for in a media center: video
playback, music playback, photo viewing, weather, TV tuning and recording,
etc. It has wide community support and thanks to it's excellent plug-in
and skinning framework, there are lots of community-developed extensions
you can pick and choose to make it your own. It is far more configurable
than <ne>Windows Media Center</ne>, and it works out-of-the-box with the
<ne>MCE</ne> remote. And because it provides so much more configuration
some find it a daunting task to install and configure. Therefore, this
guide will help alleviate some of that burden and help get a
<ne>MediaPortal</ne> installation up & running. This guide is not
intended to replace the wonderful <ne>MediaPortal</ne> documentation, but
rather to introduce the AVS community to <ne>MediaPortal</ne> and provide
a quick and easy set-up guide. If you need more details on configuration
</content>
</post>
</thread>
我需要提取标签内的数据并将其保存在单独的文件中。我能够做到这一点,然后我从 BeautifulSoup 对象中提取标签。现在,我想从 和 标签中提取文本并将其放在一个单独的文件中。请给出一些如何实现的建议。
在从 soup 对象中提取标签之后
for title in soup.find('title')
print title.string
然后在提取标签之前,它会在控制台上为具有标签的标题标签提供 None。
请您参考如下方法:
来自 BeautifulSoup 文档:
For your convenience, if a tag has only one child node,
and that child node is a string,the child node is made
available as tag.string, as well as tag.contents[0].
但是,在您的情况下:
>>> t = soup.find('title')
<title><ne>MediaPortal</ne> Install Guide</title>
因此,在您的情况下,您不能使用 tag.string。但是,您仍然可以使用 tag.contents 或 tag.text:
>>> t.contents
[<ne>MediaPortal</ne>, u' Install Guide']
>>> t.text
u'MediaPortalInstall Guide'
