免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4333 | 回复: 7
打印 上一主题 下一主题

提取html中的文字 [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-10 14:15 |只看该作者 |倒序浏览
本帖最后由 MYSQLER 于 2011-04-10 14:26 编辑

源文件这样的:

  1. <!--day 1--><table class="yuBaoTable" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="15%" rowspan="2" class="t0" style="background:#f4f7fc;"><a class="cyclePrediction">10日星期日</a></td><td width="12%" style="background:#f4f7fc;">白天</td><td width="10%"><a href="http://www.weather.com.cn/static/html/legend.shtml" target="_blank"><img src="/m2/i/icon_weather/29x20/d02.gif" /></a></td><td width="18%"><a href ="http://baike.weather.com.cn/index.php?doc-view-770.php" target="_blank">阴</a></td><td width="15%"><a href="http://baike.weather.com.cn/index.php?doc-view-1148.php" target="_blank"><b>高温 <strong>16<strong>℃</b></a></td><td width="15%"><a href="http://baike.weather.com.cn/index.php?doc-view-778.php" target="_blank">北风</a></td><td width="15%"><a href="http://baike.weather.com.cn/index.php?doc-view-778.php" target="_blank">3-4级</a></td></tr><tr><td style="background:#f4f7fc;">夜间</td><td><a href="http://www.weather.com.cn/static/html/legend.shtml" target="_blank"><img src="/m2/i/icon_weather/29x20/n00.gif" /></a></td><td><a href ="http://baike.weather.com.cn/index.php?doc-view-767.php" target="_blank">晴</a></td><td><a href="http://baike.weather.com.cn/index.php?doc-view-1386.php" target="_blank"><span>>低温 <strong>3<strong>℃</span></a></td><td><a href="http://baike.weather.com.cn/index.php?doc-view-778.php" target="_blank">无持续风向</a></td><td><a href="http://baike.weather.com.cn/index.php?doc-view-778.php" target="_blank">微风</a></td></tr></table><!--day 2-->
复制代码
要求抽出其中的天气信息格式如下:

10日星期日 白天 阴 高温  16 ℃ 北风 3-4级
夜间 晴 低温 3 ℃  无持续风向 微风

刚刚用awk提取,方法很笨,如下,想看看其它人的思路[
  1. awk -F '</a>|</td>|><|">|<b>|<strong>|</b>|<span>|</span>' '{print $6,$9,$17,$22,$23,$24,$29,$33,"\n",$38,$46,$51,$52,$53,$58,$62}' file
  2. 10日星期日 白天 阴 高温  16 ℃ 北风 3-4级
  3. 夜间 晴 低温  3 ℃ 无持续风向 微风
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-04-10 14:29 |只看该作者
请用专门的xml解析库 处理
如果用python,可用minixml或者 xml.parsers.expat

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
3 [报告]
发表于 2011-04-10 14:31 |只看该作者
本帖最后由 yinyuemi 于 2011-04-10 14:39 编辑

回复 1# MYSQLER


    try:
  1. grep -Po '(?<=\>)[^\<|\>]*(?=\<)' |tr '\n' ' '
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-04-10 14:32 |只看该作者
刚才查了一下,可下载   xmlstarlet      这是SHELL   命令行的工具。

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
5 [报告]
发表于 2011-04-10 14:48 |只看该作者
请用专门的xml解析库 处理
如果用python,可用minixml或者 xml.parsers.expat
chenbin200818 发表于 2011-04-10 14:29



  给个python代码也行,谢谢

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
6 [报告]
发表于 2011-04-10 14:50 |只看该作者
回复  MYSQLER


    try:
yinyuemi 发表于 2011-04-10 14:31



    这个思路不错,学习,不过是在一行了,我自己修改一下就行

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
7 [报告]
发表于 2011-04-10 21:06 |只看该作者
echo `sed 's/<[^>]\+>//g' file`

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2011-04-11 09:59 |只看该作者
  1. grep -Eo '>[^<>]+<' t002|tr -s '\n><' ' '
复制代码
10日星期日 白天 阴 高温 16 ℃ 北风 3-4级 夜间 晴 低温 3 ℃ 无持续风向 微风
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP