Я пытаюсь извлечь «ранг продавца» из элементов на амазонке, используя запросы Python и lxml. Итак:Извлечение текста/чисел из списка HTML с использованием запросов Python и lxml
<li id="SalesRank">
<b>Amazon Bestsellers Rank:</b>
957,875 in Books (<a href="http://www.amazon.co.uk/gp/bestsellers/books/ref=pd_dp_ts_b_1">See Top 100 in Books</a>)
из этого примера, 957875 - это номер, который я хочу извлечь.
(Пожалуйста, обратите внимание, что фактический HTML имеет около 100 пустых строк между «Amazon Бестселлеры Rank:».. И «957875» Неуверенный, если это осуществление мой результат)
Мой текущий код Python настроен как так :
import re
import requests
from lxml import html
page = requests.get('http://www.amazon.co.uk/Lakeland-Expanding-Together-Compartments-Organiser/dp/B00A7Q77GM/ref=sr_1_1?s=kitchen&ie=UTF8&qid=1452504370&sr=1-1-spons&psc=1')
tree = html.fromstring(page.content)
salesrank = tree.xpath('//li[@id="SalesRank"]/text()')
print 'Sales Rank:', salesrank
и печатная продукция является Sales Rank: []
Я ожидал получить полный список данные, включая все пустые строки из которых я позже разбора. Правильно ли я предполагаю, что/text() не подходит для этого примера, и мне нужно поставить что-то еще? Любая помощь очень ценится.
Большое спасибо, я не ожидал полностью закодированного ответа. Я все еще так благодарна за ответ. Я скорректировал инструкцию s = re.findall и размер блока, чтобы быть применимым к большим числам, и когда нет # включен, но это отлично работает. –