2015-05-01 4 views
1

Я ищу, чтобы получить значение «312 голосов» из приведенных ниже иерархий тегов:Получить значения CSS тегов в питоне

<div class="rating-rank right"> 
<span class="rating-votes-div-65211">312 votes</span> 
</div> 

Проблема, кажется, что пролет тег имеет уникальный идентификатор для каждого значения в страница. В приведенном выше случае «65211». Что я должен сделать, чтобы получить требуемое значение?

Я использую soup.select для получения значений. Но, похоже, это не работает.

for tag in soup.select('div.rating-rank right'): 
    try: 
     print(tag.string) 
    except KeyError: 
     pass 

ответ

2

Вы пытаетесь выбрать right элемент, который следует div с классом rating-rank. Вы можете выбрать, что хотите:

soup.select("div.rating-rank.right span") 

С селекторами css вы должны прочитать их справа налево. Таким образом, div.rating-rank.right span означает, что я хочу элемент span, который после элемента div имеет rating-rank, right как классы. С того момента, как вы определили элементы span, вы можете распечатать их содержимое, как вы уже делали.

+0

Nope.This, похоже, не работает. – RDPD

+0

Можете ли вы попробовать еще раз? Я обновил свой ответ – JuniorCompressor

+0

Да, это сработало чудесно. :) Не могли бы вы кратко объяснить, как это сработало? – RDPD

Смежные вопросы