Уведомления

Группа в Telegram: @pythonsu

#1 Июль 7, 2014 15:22:42

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос по xpath

Собираю ссылки залинкованные с картинок:

urls = lxml.html.fromstring(s)
urls = urls.xpath('//img/parent::a[not(re:match(@href, "(ban)")) ]/@href', namespaces={"re": "http://exslt.org/regular-expressions"})
Бывает вот так:
         <a href="/url.html" title="title" target="_blank">
                            <span class="class">
                                <img src="kartinka.jpg" alt="alt"/>
и такие ссылки этим кодом не собираются, благодря <span class=“class”>
Реально решить проблему оставив возможность собирать ссылки формата:
         <a href="/url.html" title="title" target="_blank">
                                <img src="kartinka.jpg" alt="alt"/>

Офлайн

#2 Июль 7, 2014 15:55:23

john123
Зарегистрирован: 2013-12-22
Сообщения: 56
Репутация: +  7  -
Профиль   Отправить e-mail  

вопрос по xpath

Попробуйте заместо оси parent использовать ancestor:

//img/ancestor::a[not(re:match(@href, "(ban)"))][1]/@href

Отредактировано john123 (Июль 7, 2014 15:57:51)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version