python 使用BeautifulSoup库提取div标签中的文本内容

比如HTML文件中全是这种格式的内容

<div><p><span style='font-size:14.0pt'>我从事于教育行业,对于计算机算只了解皮毛,但我会制作简单的课件来补充工作中需要的信息,对于计算机它让我们方便了生活,愉乐了生活,也是说生活中不能缺少计算机与计算思维</span><br><span style= 'font-size:12.0pt;color:#CC3399'>714659079qqcom 2014/09/10 10:14</span></p></div>

如何使用BeautifulSoup将这段文本内容提取出来呢?
如果配合正则表达式又该怎样做呢?
谢谢

因为你的html不是合法的xml格式,标签没有成对出现,只能用html解析器

from bs4 import BeautifulSoup

s = """
</span><br><span style= 'font-size:12.0pt;color:#CC3399'>714659079qqcom    2014/09/10 10:14</span></p></div>
"""
soup = BeautifulSoup(s, "html.parser")
print soup
print soup.get_text()

如果你想用正则的话,只要把标签匹配掉就可以了

import re

s = """
</span><br><span style= 'font-size:12.0pt;color:#CC3399'>714659079qqcom    2014/09/10 10:14</span></p></div>
"""
dr = re.compile(r'<[^>]+>', re.S)
dd = dr.sub('', s)
print dd

如果解决了您的问题请采纳!
如果未解决请继续追问

追问

恩,这个确实能解决
不过要是这个HTML文件中有很多条这样的
每一条的内容我要能取出来单独处理,应该怎么存储呢?
是存到列表或者字典还是怎样呢?
谢谢

追答

你是哈工大的老师?

追问

不是啊,我是学生

追答

你只要取到你所有要处理的tag,然后针对tag一个一个获取text就可以了。
具体的你可以参考下官方文档:

http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答