2016-03-27 4 views
0

Я изучаю python и пытаюсь использовать регулярное выражение для получения некоторых данных из html, и у меня проблемы. Это мой код:python regular about Chinese

# -*- coding:utf-8 -*- 

import urllib2 
import re 

url = u'http://www.6vhao.net/dy1/' 
msg = u'ssss<a href="http://www.6vhao.net/dy1/index_2.html">下一页</a>&nbsp;<a' 
pattern = re.compile(ur'\<a href="(?P<url>.*)"\>下一页</a\>') 

response = urllib2.urlopen(url) 
html = response.read() 
#print html 
for m in pattern.finditer(msg): 
    s = m.group('url') 
    print 'msg: '+s 

for m in pattern.finditer(html): 
    s = m.group('url') 
    print 'html: '+s 

«msg» в коде - это данные, которые я хочу получить из html. Но только выход "msg: http://www.6vhao.net/dy1/index_2.html". Я хочу знать, почему регулярное выражение не работает в html и как заставить его работать. Спасибо!

ответ

1

Вы должны декодировать результат от .read() к объекту Unicode первым:

html = response.read().decode("utf-8")