读书人

一个python正则表达式请大家指导

发布时间: 2013-11-11 14:02:17 作者: rapoo

求助 一个python正则表达式,请大家指导
最近在做一爬虫程序,去网页上提取特定信息。获得包含所需信息的网页源代码如下:
<title>个人资料_******(佳缘ID:*******)的个人空间_世纪佳缘交友网</title>
***部分是我需要提取的用户信息,我写的正则表达式如下:
<title>个人资料_(?P<user>.+?)\s*?\((?P<ID>.+?)\)\s*?的个人空间_世纪佳缘交友网</title>
结果提取出来的信息为None,请各位大神不吝赐教,小女子不胜感激! python??正则表达式
[解决办法]
不匹配只是因为原始串用的是全角括号
[解决办法]

引用:
不匹配只是因为原始串用的是全角括号

+1
[解决办法]
嗯,有中文,是大写的括号
[解决办法]
你看看手册吧
re.search的结果要用group/groups/groupdict提取的,直接赋值就是None,不管有没匹配
一两句说不明白,你认真看看手册的例子
或者改成findall,但findall的话返回没有key的,只按顺序组成元祖

另外要写成
re.search(r'<title>…… 这样的raw方式
不然那些\s \t之类都被转义了,不是原来的正则了
[解决办法]
注意编码也要一致,譬如你的脚本是gbk的,网页utf-8,那中文打死也匹配不上...

读书人网 >perl python

热点推荐