【发布时间】:2019-09-04 17:22:47
【问题描述】:
我正在尝试使用 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”),但蜘蛛只返回一个空白列表。
我认为蜘蛛中的其他任何地方都没有影响我的输出的问题,因为蜘蛛还会返回正常工作的用户名。
有人知道我该如何解决这个问题吗?
【问题讨论】:
-
你试过了吗? response.css("div.gameListRowItemName::text")?
-
我可以从
== $0看出您已经从 Web 浏览器的 DOM 表示中复制了 HTML。请确保实际的底层 HTML 代码包含相同的 HTML 代码。文本可能来自 JavaScript。见docs.scrapy.org/en/latest/topics/dynamic-content.html -
你是对的,我试图抓取的区域在