Уведомления

Группа в Telegram: @pythonsu

#1 Март 2, 2016 18:25:54

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Помогите с вложенными div'ами

<div>1
	<div id='idname'>2
		<div class='classname'>33</div>
	2</div>
	1
</div>

Подскажите, как из вложенных div получить список вида

['11', '22', '33'] or ['<div>11</div>', '<div id='idname'>22</div>', '<div class='classname'>33</div>']

Уровень вложенности может быть больше



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Отредактировано ajib6ept (Март 2, 2016 18:26:15)

Офлайн

#2 Март 3, 2016 02:18:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите с вложенными div'ами

>>> import lxml.html
>>> 
>>> text = """
... <div>1
...     <div id='idname'>2
...             <div class='classname'>33</div>
...     2</div>
...     1
... </div>
... """
>>> 
>>> doc = lxml.html.fromstring(text)
>>> 
>>> out = [''.join(map(str.strip, i.xpath(r'text()')))
...        for i in doc.xpath(r'//div')]
>>> out
['11', '22', '33']
>>>



Отредактировано py.user.next (Март 3, 2016 02:23:14)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version