无法使用Beautifulsoup将字符串变成一行以获取正文

时间:2019-05-03 21:33:44

标签: python text beautifulsoup

我有一堆xml文件,我正在尝试通过使用beautifulsoup从这些文件中提取出来。这是我的代码:

text = """
<B510>
<B511><PDAT>G03B 2742</PDAT></B511>
<B512><PDAT>G03B 2758</PDAT></B512>
<B512><PDAT>G03B 2762</PDAT></B512>
<B516><PDAT>7</PDAT></B516>
</B510>
"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(text, 'lxml')

### Classification info
class_info = soup.find_all("b510")
class_info = ", ".join([x.text.strip() for x in class_info])

这就是我得到的:

G03B 2742
G03B 2758
G03B 2762
7

为什么我不能使文字变成单行?

1 个答案:

答案 0 :(得分:1)

考虑<PDAT>就足够了:

[i.text for i in soup.find('b510').find_all("pdat")]

输出

['G03B 2742', 'G03B 2758', 'G03B 2762', '7']