【发布时间】:2017-03-05 03:30:37
【问题描述】:
我按照这个方法通过使用 find(text=True, recursive=False) 从标签的直接级别提取文本,正如另一个 answer 中提到的那样,但是对于像 u'<p>\n <strong>\n Established\n </strong>\n 1865\n</p>\n' 这样的一些特定标记,它不起作用:
代码如下:
markup = u'<p>\n <strong>\n Established\n </strong>\n 1865\n</p>\n'
s = BeautifulSoup(markup, 'lxml')
print s.find('p').find(text=True, recursive=False)
然后打印出来
45: u'\n'
如果我从标记中去除所有换行符\n,它就可以工作,但我认为从整个 HTML 文件中随机去除所有换行符并不是一个好主意。
还有其他解决方案吗?
【问题讨论】:
-
您可以使用正则表达式预处理 html 以查找所有
\n前导和尾随字符串,然后将其删除
标签: python beautifulsoup