выберите xpath данных в теге, используя lxml - PullRequest
0 голосов
/ 08 февраля 2012

Я пытаюсь выбрать " (6) " в теге ниже:

<a class="itemRating" href="http://www.newegg.com/Product/ProductReview.aspx?Item=N82E16834200347" title="Rating + 4">
<span class="eggs r4">&nbsp;</span>
(6)
</a>

xpath, который я буду называть рецензией, находится в () ниже:

review = site.xpath('/html/body/div[3]/div[2]/table/tr/td[2]/div/div[8]/div/div/div/a[3]

Когда я пытаюсь напечатать review[0] .text, он печатает 'None' вместо (6).

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

(6) находится в хвосте <span> элемента:

>>> a[0].tail
'\n(6)\n'
0 голосов
/ 08 февраля 2012

Вы можете использовать:

review[0].text_content().strip()

или

review[0].xpath('string()').strip()

И я бы написал ваш xpath как:

review = site.xpath('//a[@class="itemRating"]')
...