【Python】如何提取如下html中的文本

LeonTown 2015-08-10 11:23:45
Hi 各位大侠:
有类似如下的html代码:

<div class="c-abstract">区号查询提供北戴河区号,北戴河区号查询,<em>北戴河电话区号</em>查询,北戴河区号大全,北戴河区号是多少,北戴河长途电话区号,北戴河区号在线查询,北戴河邮政编码大全,北戴河邮政编...</div>


提取<div class="c-abstract">中文本的python代码如下:

from scrapy.selector import Selector
from scrapy.selector import HtmlXPathSelector

html = "..." # 上述html代码字符串

sel = Selector(text=html)

rawCont = sel.xpath("//div[@class='c-abstract']")
for cont in rawCont:
for nn in cont.xpath('text()').extract():
print nn



上述代码,无法提取html中<em>标签中的文本。

请问,该如何提取<div class="c-abstract">标签下的全部文本,包括<em>中的文本呢?
...全文
4061 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhm9484 2015-08-11
  • 打赏
  • 举报
回复
rawCont = sel.xpath("//div[@class='c-abstract']").extract() pattern = re.compile('<.+?>') pattern.sub('' , rawCont) 这样应该可以
JtwoR 2015-08-11
  • 打赏
  • 举报
回复
建议使用python的 beautifulsoup词库 使用soup.find_all 能直接提取网页文本
sprawling 2015-08-11
  • 打赏
  • 举报
回复
scrapy这个工具好难装啊,到现在都没安装成功(windows下面)
  • 打赏
  • 举报
回复
BeautifulSoup库下得find()和findAll(),解析HTML很方便的..找到标签位置使用get_text()就可以提取到文本了..http://blog.csdn.net/qq_15297487/article/details/47321905这个里面有详细的操作.

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧