Форум сайта python.su
У меня есть html документ, в котором есть есть интересующий меня кусок:
<a id= href=" 106097682" > <span class="is-juice" title="juice">juice</span> Orange / Apple 3.7 </a>
from grab import Grab
html2 = open('index.html', ‘r’)
html = html2.read()
g1 = Grab(html)
g1.xpath('//a/@href') #странно, но после кода //a съедает contains(./text(), “Orange / Apple 3.7”) в скобках
Отредактировано paraman (Июль 13, 2012 21:08:33)
Офлайн
Правильный XPath:
'//a[contains(., "Orange / Apple 3.7")]/@href'
doc = lxml.html.fromstring(html) print doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple 3.7')
Офлайн
Спасибо.
На тему j = 3.7
print doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple ',j)
Отредактировано paraman (Июль 13, 2012 22:22:06)
Офлайн
paramanТак нет.
Спасибо.
На тему j = 3.7- вот так сработает?print doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple ',j)
doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple %s' % j)
doc.xpath('//a[contains(., "Orange / Apple %s")]/@href' % j)
Офлайн
Столкнулся с тем, что в коде есть дубликат:
<a id=“106097234” href=“106097234”>
<span class=“is-juice” title=“juice”>juice</span>
Orange / Apple 3.7
</a>
<a tabindex=“1” href=“#toggle-content”>
<em class=“market-title”
>Orange / Apple 3.7</em>
</a>
Отредактировано paraman (Июль 13, 2012 22:51:03)
Офлайн
reclosedevparamanТак нет.
Спасибо.
На тему j = 3.7- вот так сработает?print doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple ',j)
Вот так должно:doc.xpath('//a[contains(., $text)]/@href', text='Orange / Apple %s' % j)
Или вообще не без $переменных:doc.xpath('//a[contains(., "Orange / Apple %s")]/@href' % j)
Отредактировано paraman (Июль 13, 2012 22:40:50)
Офлайн