Я хочу, чтобы найти все ссылки в DIV, например:список питона в рекурсии
<div>
<a href="#0"></a>
<a href="#1"></a>
<a href="#2"></a>
</div>
Так я пишу FUNC следующим образом:
def get_links(div):
links = []
if div.tag == 'a':
links.append(div)
return links
else:
for a in div:
links + get_links(a)
return links
почему результаты является [], а не [a, a]? ------- вопрос
Я знаю, что это вопрос ведения списка, не могли бы вы показать какую-нибудь деталь
Это полный модуль: добавление
import lxml.html
def get_links(div):
links = []
if div.tag == 'a':
links.append(div)
return links
else:
for a in div:
links + get_links(a)
return links
if __name__ == '__main__':
fragment = '''
<div>
<a href="#0">1</a>
<a href="#1">2</a>
<a href="#2">3</a>
</div>'''
fragment = lxml.html.fromstring(fragment)
links = get_links(fragment) # <---------------
Попробуйте изменить 'ссылки + get_links (а)' 'к ссылкам + = get_links (а)' – vaultah
Если вы не измените 'ссылки ', кто еще должен это делать? – glglgl
Да, это правильный путь. Благодарю. Я хочу написать + =, но я забыл, и я думаю, что пишу + =. поэтому я не нашел ошибку ... и я думаю, что это вопрос списка ссылок – zwidny