Форум сайта python.su
Всем Hi! Такая проблема, что я не могу добавить условие. Вот такой есть класс.
class UrlFinder(HTMLParser): ''' Класс-наследник HTMLParser. ''' def __init__(self): HTMLParser.__init__(self) self.links = [] self.pagen = [] self.mail = [] def handle_starttag(self, tag, attrs): attrs = dict(attrs) # если находим тег 'a' if 'a' == tag: try: if 'mailto' in attrs['href']: self.mail.append(attrs['href']) if 'page' in attrs['href']: self.page.append(attrs['href']) # записываем значение аттрибута href в список-свойство links нашего класса self.links.append(attrs['href']) if 'profile' in attrs['href']: self.profile.append(attrs['href']) except: pass
File "testmailtoteg.py", line 29 if 'page' in attrs['href']: ^ IndentationError: unindent does not match any outer indentation level
if 'page' in attrs['href']: self.mail.append(attrs['href'])
Офлайн
вроде проблема с отступами. Проверь
Офлайн
ilnurДа я вот вообще не пойму. Для примера решил так сделать
вроде проблема с отступами. Проверь
def handle_starttag(self, tag, attrs): attrs = dict(attrs) # если находим тег 'a' if 'a' == tag: try: self.links.append(attrs['href']) if 'mail' in attrs['href']: self.mail.append(attrs['href']) if 'profile' in attrs['href']: self.profile.append(attrs['href']) print 'test' except: pass
File "testmailtoteg.py", line 33 print 'test' ^ IndentationError: unindent does not match any outer indentation level
Отредактировано mark24 (Сен. 20, 2013 07:14:05)
Офлайн
У вас в коде и пробелы и знаки табуляции. Не используйте табуляцию вообще, используйте пробелы.
Офлайн
lorienЧерт возьми! Переписывание всего класса с нуля помогло! Ну это жесть просто…
У вас в коде и пробелы и знаки табуляции. Не используйте табуляцию вообще, используйте пробелы.
Офлайн