2014-12-07 3 views
3

в соответствии с этим answer:HREF атрибут lxml.html

>>> from lxml.html import fromstring 
>>> s = """<input type="hidden" name="question" value="1234">""" 
>>> doc = fromstring(s) 
>>> doc.value 
'1234' 
>>> doc.name 
'question' 

Я пытался получить как ссылку и текст из этого кода:

from lxml.html import fromstring 
s = '<a href="http://a.com" rel="bookmark">bla bla bla</a>' 
doc = fromstring(s) 
print (doc.href) 
print (doc.text_content()) 

Это дает AttributeError:'HtmlElement' object has no attribute 'href'

Im новое в lxml. На самом деле в чем была проблема?

Как я могу использовать как ссылку (a.com), так и текст (bla bla bla) в виде строк из этого кода?

ответ

3

Этот код работает для меня

from lxml.html import document_fromstring 
doc = document_fromstring('<a href="http://a.com" rel="bookmark">bla bla bla</a>') 
print (doc.xpath("//a")[0].get("href")) 
print (doc.text_content()) 

Выход:

http://a.com 
bla bla bla 
+1

вы знаете, почему тег действительно ведет себя так, и не делает? @ValeriyG –