【发布时间】:2018-12-11 08:27:42
【问题描述】:
我想从以下 xml 格式中提取问题 (type='q') 和答案 (type='a') 对作为单个数据点:
<?xml version="1.0" encoding="us-ascii"?>
<transcript id="001" >
<body>
<section name="Q&A">
<speaker id="0">
<plist>
<p>Thank you. We'll now be conducting the question-and-answer session. <mark type="Operator Instructions" /> Thank you. Please go ahead with your question.</p>
</plist>
</speaker>
<speaker id="3" type="q">
<plist>
<p>Good morning. First of all, Happy New Year.</p>
</plist>
</speaker>
<speaker id="2" type="a">
<plist>
<p>Happy New Year, sir.</p>
</plist>
</speaker>
<speaker id="3" type="q">
<plist>
<p>Thank you. How is your pain now?.</p>
</plist>
</speaker>
<speaker id="2" type="a">
<plist>
<p>Oh, it's better now. I think i am healing.</p>
</plist>
</speaker>
</section>
</body>
</transcript>
即输出应该是这样的:['早上好。首先,新年快乐。先生,新年快乐。','谢谢。你现在的疼痛如何?哦,现在好多了。我想我正在康复。']
谁能帮我用美丽的汤做这个?我当前的代码提取了文档中的所有 <p> 标记,但问题是还有其他部分(“Q&A”除外)以及其 <p> 标记被提取。
soup = BeautifulSoup(handler, "html.parser")
texts = []
for node in soup.findAll('p'):
text = " ".join(node.findAll(text=True))
#text = clean_text(text)
texts.append(text)
【问题讨论】:
标签: python xml beautifulsoup xml-parsing