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来实现的
然后取特定行就可以了