Python:将 HTML 片段分成段落

标签 python html beautifulsoup lxml

我有一段包含段落的 HTML。 (我的意思是 p 标签。)我想将字符串拆分成不同的段落。例如:

'''
<p class="my_class">Hello!</p>
<p>What's up?</p>
<p style="whatever: whatever;">Goodbye!</p>
'''

应该变成:

['<p class="my_class">Hello!</p>',
 '<p>What's up?</p>'
 '<p style="whatever: whatever;">Goodbye!</p>']

解决这个问题的好方法是什么?

最佳答案

如果您的字符串只包含段落,您可以使用精心制作的正则表达式和 re.split() 来摆脱困境。但是,如果您的字符串是更复杂的 HTML,或者不是始终有效的 HTML,您可能需要查看 BeautifulSoup包。

用法如下:

from BeautifulSoup import BeautifulSoup 

soup = BeautifulSoup(some_html)

paragraphs = list(unicode(x) for x in soup.findAll('p'))

关于Python:将 HTML 片段分成段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276824/

相关文章:

python - 如何将python float转换为要在C++程序中解释的字节

python - 使用装饰器调用不带参数的函数

javascript - 无法访问 $watch 内的范围变量

html - 如何修复 CSS 使其在 IE7 和 IE8 中工作?

Jquery 在 h1 标签内添加 div

python - 我实现的 Bowyer-Watson Delaunay 三角剖分不会删除包含超三角形点的三角形

python - Python 中的元组减法语句

python - BeautifulSoup 返回充满变量的 HTML

python - 使用 Python 从电子商务 Ajax 站点抓取 JSON 数据

python - Beautiful Soup 中 find_all 方法的返回类型是什么?