Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 29, 2012 00:52:39

agryn
От: Украина
Зарегистрирован: 2011-12-14
Сообщения: 189
Репутация: +  0  -
Профиль   Отправить e-mail  

XPath вопрос на примере

Есть пример html-кода

<html>
    <div class="myclass">
        <p>
            some html code
        </p>
        <br>
            some html code 2       
    </div>
</html>

если прописать
 '//div[@class="myclass"]'
то извлекаться
    <div class="myclass">
        <p>
            some html code
        </p>
        <br>
            some html code 2       
    </div>
а как извлечь?
        <p>
            some html code
        </p>
        <br>
            some html code 2    

Отредактировано agryn (Дек. 29, 2012 00:55:00)

Офлайн

#2 Дек. 29, 2012 04:48:17

mironich
От:
Зарегистрирован: 2011-05-23
Сообщения: 118
Репутация: +  2  -
Профиль   Отправить e-mail  

XPath вопрос на примере

 '//div[@class="myclass"]/p' #Для some html code
        <p>
            some html code
        </p>
        <br>
            some html code 2  
У библиотеки lxml есть у обьектов(HTMLElement) атрибут text.



Офлайн

#3 Дек. 29, 2012 11:51:42

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

XPath вопрос на примере

>>> s = """
... <html>
...     <div class="myclass">
...         <p>
...             some html code
...         </p>
...         <br>
...             some html code 2       
...     </div>
... </html>
... """
>>> 
>>> root = lxml.html.fromstring(s)
>>> elems = root.xpath('//div[@class="myclass"]/*')
>>> for i in elems:
...     print('<{0}> <{1}>'.format(i.tag, i.text))
... 
<p> <
            some html code
        >
<br> <None>
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version