Доброго времени суток,
Пишу небольшой код для обработки очков в fantasy-футболе. Для этого использую Python 2.7 32bit с lxml 3.6.0.
Ранее пользовался этой же библиотекой для обработки данных о фильмах, работало как часы.
Проблема в том, что не получается считать данные из тега
и с определённым классом.
Вот часть html-кода, для того, чтобы понять структуру:
<div class="grace full-field">
<div class="forward-container"><ins data-id="1744589" data-amplua="4" class="player hold player-base ">
<img class="t-shirt" src="http://www.sports.ru/storage/img/fantasy/shirts/rfpl/spartak.png" alt="Спартак" title="Спартак"><span class="name">Зе Луиш</span>
<span class="pl-descr">
<i class="ico info2" data-id="1744589"></i><i class="ico point">-</i>
</span>
Сама страница
Python:
from urllib2 import urlopen
from lxml import html
url = urlopen('http://www.sports.ru/fantasy/football/team/points/1443463.html')
page = html.parse(url)
points = page.getroot().find_class('ico point')
print points
for i in points:
print i.text_content()
Парсер находит класс "forward-container", а дальше идти не хочет. То есть классы "name" и нужный мне "ico point" не находятся.
Пробовал через .xpath():
names = page.xpath('.//i[contains(@class, "ico point")]')
Но ничего не получилось.
Вопросов несколько:
1. Это lxml не умеет идентифицировать классы у тэгов , ?
2. Или это ошибка в моём коде?
3. И есть ли парсеры которые умеют находить нужные классы в этих тегах?
4. Или придется писать парсер самому?
Прошу прощения, если мои вопросы звучат нелепо, так как я только учусь.
Заранее спасибо,