Я пытаюсь использовать scrapy для извлечения данных из Steam о 10 самых популярных играх пользователей, упорядоченных по времени игры. Однако я не могу вывести имя каждой из игр, потому что классы css, содержащие текст имени, имеют конечные пробелы.
Я новичок как в Python, так и в библиотеке Scrapy, поэтому извиняюсь за любые ошибки / плохое форматирование.
Код класса и Python выглядит следующим образом:
Точный код класса
<div class="gameListRowItemName ellipsis ">Counter-Strike: Global Offensive</div> == $0
Код парсера Scrapy
def parse(self, response):
some other code...
return {
some other code...
'gamename': response.css("div.gameListRowItemName.ellipsis ::text").extract()
}
Я обязательно включил .ellipsis, чтобы учесть, что это определение css с несколькими классами, однако я не могу найти, что означает конечное пространство в классе css.
Я попытался использовать несколько различных вариантов div.gameListRowItemName.ellipsis :: text, чтобы попытаться получить доступ к этому тексту (например, .gameListRowItemName :: text), но паук всегда возвращает только пустой список.
Я не думаю, что где-либо еще в пауке есть проблема, влияющая на мой вывод, так как паук также возвращает имя пользователя, которое работает правильно.
Кто-нибудь знает, как я могу обойти эту проблему?
== $0
я могу сказать, что вы скопировали HTML из представления DOM вашего веб-браузера. Пожалуйста, убедитесь, что фактический базовый HTML-код содержит тот же HTML-код. Возможно, текст взят из JavaScript. См. docs.scrapy.org/en/latest/topics/dynamic-content .html - person Gallaecio   schedule 05.09.2019