BeautifulSoup标签删除意外结果

时间:2013-09-17 18:42:48

标签: python beautifulsoup

所以我编写了一些代码来仅提取某些HTML代码的<p>标记内的内容。这是我的代码

soup = BeautifulSoup(my_string, 'html')
no_tags=' '.join(el.string for el in soup.find_all('p', text=True))

它运行的大多数示例都是我想要的,但我注意到在

等示例中
<p>hello, how are you <code>other code</code> my name is joe</p>

它什么都不返回。我想这是因为<p>标签中还有其他标签。所以要明确一点,我希望它返回的是

hello, how are you my name is joe

也就是说,我想要<p>标签内的所有内容,但只需要第一级。我想忽略<p>标签中其他标签中包含的所有内容。 有人可以帮我解决如何处理这些例子吗?

1 个答案:

答案 0 :(得分:1)

您好我认为您可以使用它来提取p标签内的文本。

my_string = "<p>hello, how are you <code>other code</code> my name is joe</p>"
soup = BeautifulSoup(my_string, 'html')

soup.code.extract()
text = soup.p.get_text()
print text