Цель Scrapper - проанализировать, какие настольные игры набрали наибольшее количество голосов и распечатать их в отсортированном списке. В основном словарь "имя: палец вверх". Вот список игр, которые я хочу отсортировать: https://boardgamegeek.com/geeklist/268396/20-most-anticipated-games-2020-11th-year-nominatio
Я использую Framework Scrapy в Python. Я обнаружил, что следующие команды хороши для извлечения заголовка и больших пальцев:
response.css('.fl > a:nth-child(2)::text').getall()
response.css('.recs a::text').getall()
Проблема возникает, когда игра набрала 0 больших пальцев, тогда Scrapy просто пропускает большой палец вверх. Это означает, что список заголовков - это больше, чем просто палец вверх. Например, я мог бы получить список из 25 названий и просто список из 20 превью с помощью приведенных выше команд. Есть ли способ преобразовать пустые строки в значение по умолчанию 0, чтобы список имен и список больших пальцев был равен? Как:
response.css('.recs a::text').getall(default="0")
Когда нет больших пальцев, это выглядит так:
<a aria-label="Recommendations and tip info" class="js-score" href="javascript://" onclick="RecSpy( 'listitem', '7520669', 'tippers' ); return false;"></a>