首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python正则提取网页内容有关问题

2012-03-21 
python正则提取网页内容问题网页源代码格式如下:tdclass b-cn 风向/风力 /tdtdwidth 138 clas

python正则提取网页内容问题
网页源代码格式如下:
<td   class= "b-cn "> 风向/风力 </td>
                    <td   width= "138 "   class= "b-cn "> 西北风 <=3级转东南风 <=3级 </td>
                    <td   class= "b-cn "> 东南风 <=3级 </td>
                    <td   class= "b-cn "> 东南风 <=3级 </td>
请问python中如何将这三段风力/风向信息提取出来啊,谢谢各位高手了。

[解决办法]
\ <td.+\> (? <name> .+)\ </td\>
[解决办法]
给你一段参考,你可以按需要再改一改:

import re

htmlSource = ' ' ' <td class= "b-cn "> 风向/风力 </td>
<td width= "138 " class= "b-cn "> 西北风 <=3级转东南风 <=3级 </td>
<td class= "b-cn "> 东南风 <=3级 </td>
<td class= "b-cn "> 东南风 <=3级 </td> ' ' '

rexp = r 'class= "b-cn "> (.+?) </td> '

m = re.findall( rexp , htmlSource )[1:]

for s in m:
print s

输出:
西北风 <=3级转东南风 <=3级
东南风 <=3级
东南风 <=3级

[解决办法]
提供另外一种思路。

使用HTMLParser模块解析HTML文档。使用此种方法,可以不用正则表达式来匹配标记中的文本。
[解决办法]
我就是用sgmllib来实现的

然后取特定行就可以了

热点排行