2013-08-21 2 views
4

Использование Twitter просто как пример, и игнорирование того факта, что у них есть совершенно удобный API, следующий скрипт получает текущее пятое твит из страницы пользователей.Python - получить класс из lxml xpath

import urllib2 
from lxml import etree 

xpathselector = "/html/body/div/div[2]/div/div[5]/div[2]/div/ol/li[5]/div/div/p" 
url = "https://twitter.com/bmthofficial" 
response = urllib2.urlopen(url) 
htmlparser = etree.HTMLParser() 
tree = etree.parse(response, htmlparser) 
result = tree.xpath(xpathselector) 

print result[0].text 

И в то время этого поста он печатает:

От 2:30, выиграть билеты на фестиваль Reading, и ввести

Теперь она печатает содержимое < р > </p>, как бы я, например, получил название класса P? HTML-код выглядит так.

<p class="js-tweet-text tweet-text">From 2.30pm, win tickets to Reading Festival, and introduce <a dir="ltr" class="twitter-atreply pretty-link" href="/bmthofficial"><s>@</s><b>bmthofficial</b></a> onstage!</p> 

Любая помощь приветствуется! Благодаря!

ответ

8

Используйте get метод Element:

print result[0].get('class') 

печатает

js-tweet-text tweet-text 
+0

я думал, что это будет что-то просто так, просто не мог найти его на Google. Спасибо за вашу помощь! – user1130601

+1

@ user1130601, Если это вам помогло, вы можете сообщить об этом сообществу, [принимая ответ] (http://meta.stackoverflow.com/a/5235). – falsetru

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