2010-11-26 2 views
0
text=u’<a href="#5" accesskey="5"></a><a href="#1" accesskey="1"><font color="#667755">\ue689</font></a><a href="#2" accesskey="2"><font color="#667755">\ue6ec</font></a><a href="#3" accesskey="3"><font color="#667755">\ue6f6</font></a>‘ 

Я новый python руку. Я хочу получить \ ue6ec, \ ue6f6, \ ue6ec, как извлечь этот модуль использования строки. Большое спасибо!python как получить эту строку

+0

Вау, этот фрагмент выглядит намеренно запутанным. Из чего это происходит? – SingleNegationElimination 2010-11-26 07:43:01

ответ

2

Regexp не является хорошим инструментом для работы с HTML. Используйте Beautiful Soup.

+0

Спасибо вам :) Я исправил. – demas 2010-11-26 07:11:53

2
>>> from BeautifulSoup import BeautifulSoup 
>>> text=u'<a href="#5" accesskey="5"></a><a href="#1" accesskey="1"><font color="#667755">\ue689</font></a><a href="#2" accesskey="2"><font color="#667755">\ue6ec</font></a><a href="#3" accesskey="3"><font color="#667755">\ue6f6</font></a>' 
>>> t = BeautifulSoup(text) 
>>> t.findAll(text=True) 
[u'\ue689', u'\ue6ec', u'\ue6f6'] 
+0

И для справки, что производит `u '\ ue689 \ ue6ec \ ue6f6``. – 2010-11-26 07:14:12

0

Если вы знаете, что страница всегда будет иметь этот формат, используйте парсер BeautifulSoup, чтобы найти то, что вам нужно в HTML.

Однако иногда BeautifulSoup может прерываться из-за искаженного HTML. Я предлагаю вам использовать lxml, который является связыванием python с libxml2. Он будет анализировать и обычно исправлять неверный HTML.

Смежные вопросы