2014-12-16 2 views
2

Я пытаюсь очистить фиктивный сайт и получить родительский тег, который я ищу. Heres структура кода, который я ищу:Получение родительского идентификатора тега с помощью lxml

<div id='veg1'> 
    <div class='veg-icon icon'></div> 
</div> 

<div id='veg2'> 
</div>  

Heres мой питон скрипт:

from lxml import html 
import requests 

req = requests.get('https://mysite.com') 
vegTree = html.fromstring(req.text) 
veg = vegTree.xpath('//div[div[@class="veg-icon vegIco"]]/id') 

Когда Вег распечатывается я получаю пустой список, но я надеюсь получить veg1. Поскольку я не получаю ошибку, я не уверен, что пошло не так. Как и в предыдущем вопросе, я следовал этому синтаксису. См. lxml: get element with a particular child element?.

ответ

4

Мало что неправильно в вашем XPath:

  • вы проверяете для классов veg-icon vegIco, в то время как в HTML ребенок div имеет veg-icon icon
  • атрибуты предваряется @: @id вместо id

Установленный вариант:

//div[div[@class="veg-icon icon"]]/@id