免费注册 查看新帖 |

Chinaunix

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

python正则表达式:提取网页中的img链接。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-03 15:45 |只看该作者 |倒序浏览
<IMG alt="新宝来HS五彩上市" src="http://autopic.sohu.com/auto_images/piclib/76/79/Img1147976_small.JPG" border=0 class=img></A></TD></TR>

我想把网页中的img链接取出来。具体:
匹配<img 或<IMG 开头的,然后中间有其他字符,然后有个src=" ,最后以.jpg 或 .JPG结尾

我是这样写的:
    regx = r"""<IMG\s*src\s*="?(\S+)"?"""  
    matchs = re.search(regx,line)
    if matchs!=None:   
        allGroups = matchs.groups()   
        for img in allGroups:
            print img   

有3个问题:
1.为什么我取出来的后面有个" 引号?
2.为什么不能匹配小写的<img  ?
3.为什么<img  和 src 中间有字符就取不出来了?

论坛徽章:
0
2 [报告]
发表于 2007-04-03 17:35 |只看该作者
1.因为匹配是从左向右的,而且是贪婪的,(\S+)会把引号吃进去。
2.要使表达式不区分大小写,要添加一个标志。
3.\s*只能匹配空白字符,所一img和src有字符的时候取不出来。

论坛徽章:
0
3 [报告]
发表于 2007-04-04 23:56 |只看该作者
建议用htmlparser

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015亚冠之广州恒大
日期:2015-07-22 17:20:15
4 [报告]
发表于 2007-04-05 14:53 |只看该作者
python有一个专门调试 python正则的工具 你找找看
我写正则一直都用那个 调试

论坛徽章:
0
5 [报告]
发表于 2007-04-09 14:53 |只看该作者
楼上的,是个什么工具?

论坛徽章:
0
6 [报告]
发表于 2007-05-11 14:19 |只看该作者
一个python的正则测试器,叫kodos。你可以去看看。我一直用这个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP