Форум сайта python.su
ТЕКСТ:
</div></td><td><span class=“b-yauser”><a href="http://kseniya-smetaneva.ru/“><b>в</b>аша стэлла</a></span></td><td><em>пока !!!!!!!!!!!!!!!!!!!!!!!!!<wbr>!!!!!!!!!!!</em></td><td style=”white-space: nowrap;“>11 января</td><td><i class=”b-gender-n“></i></td></tr>
Мой код:
nickre = re.compile('<b>(.)</b>(.*?)</a>') #врезультате должно получится вот так('в', ‘аша стэлла’), но в результате работает только с англ буквами
try:
request = urllib2.Request(url)
request.add_header(”User-Agent“, ”Crawler")
opener = urllib2.build_opener()
msg = opener.open(request).read()
except:
return
nicklist = nickre.findall(msg)
if len(nicklist) > 0:
nick = …
…
Мне нужно с помощью регулярки выловить текст в <b>в</b>аша стэлла</a> и сохранить его в переменную nick, но для русских имен не получается.
Офлайн
переведи все в уникод (текст и регулярку) и добавь флаг re.UNICODE (re.U)
Офлайн
регулярку поменял
mutualregex = re.compile(ur'<span class=“b-yauser”><a\shref=“(.*?)”>', re.UNICODE)
часть функции:
dmsg = msg.decode('utf-8')
nicklist = nick.findall(dmsg)
print nicklist
получаю в результате:
[(u'\u0420', u'\u0430\u043f\u0443\u043d\u0446\u0435\u043b\u044c')
(u'\u0413', u'\u0430\u0440\u0440\u0438 \u0414\u0436\u0435\u0439\u043c\u0441 \u041f\u043e\u0442\u0442\u0435\u0440')
(u'\u0413', u'\u0435\u0440\u043c\u0438-\u0411\u043b\u0443\u043c')
(u'\u0440', u'\u0438\u0442\u0430 \u0444\u0438\u043b\u0438\u043f\u043f\u043e\u0432\u0430')
(u'F', u'rywind')]
Плиз как перевести это на русский?
Офлайн
А это и есть русский
print u'\u0430\u043f\u0443\u043d\u0446\u0435\u043b\u044c'
Офлайн