- 论坛徽章:
- 0
|
正在做个蜘蛛
需要用到正则表达式
如果用
m = re.search(r"<\s*a\s.*?href\s*=。。。。。。。", s)
print m.group(0)
结果:<a href="http://www.qidian.com" target="_blank" class="topnav">起点首页</a>
m = re.findall(r"<\s*a\s.*?href\s*=。。。。。。。", s)
print m
结果:[('', '', '"http://www.qidian.com"', '\xc6\xf0\xb5\xe3\xca\xd7\xd2\xb3'), ('', '', '"http://www.qidian.com"', '\xbc\xf2')……省略]
m = re.findall(r"<\s*a\s.*?href\s*=。。。。。。。", s)
print m[0]#取其中一个
结果:('', '', '"http://www.qidian.com"', '\xc6\xf0\xb5\xe3\xca\xd7\xd2\xb3')
问
1.为啥search和findall的结果是不一样的(不考虑数量差别和编码差别)?
2.我想用search的结果,但是怎么让他像findall一样全部显示?循环要怎么写?
补充
刚才这么测试了下
m = re.search(r"<\s*a\s.*?href\s*=。。。。。。。", s)
print m.groups()
结果(None, None, '"http://www.qidian.com"', '\xc6\xf0\xb5\xe3\xca\xd7\xd2\xb3')
怎么又和findall一样了?
[ 本帖最后由 advancejar 于 2009-12-17 21:37 编辑 ] |
|