In [32]: doc.xpath('//head/link[@rel="image_src"]/@href')[0]
Out[32]: 'http://img337.yfrog.com/img337/5023/1tru.jpg'
Уведомление xpath
возвращает список узлов:
In [25]: doc.xpath('//head/link')
Out[25]: [<Element link at 9c94c5c>, <Element link at 9c94b6c>]
Как только вы указали [@rel="image_src"]
, в списке будет только один узел.Вы можете выбрать узел с помощью [0]
после xpath
вызова.
In [29]: doc.xpath('//head/link[@rel="image_src"]')[0]
Out[29]: <Element link at 9c94c5c>
import lxml.html as lh
import urllib2
url=r'http://www.yfrog.com/9d1truj'
doc=lh.parse(urllib2.urlopen(url))
link=doc.xpath('//head/link[@rel="image_src"]/@href')[0]
print(link)
# http://img337.yfrog.com/img337/5023/1tru.jpg