编写 Scrapy 选择器时遇到问题

Trouble writing Scrapy selector

对 python 很陌生,试图探索从另一种语言导入一个长期开发的项目的可能性,一个伙伴发誓 Python 是我的答案。我有 IDE 和 运行,scrapy 正常工作并正确地将网站上列出的 'name' 和 'rank' 方便地踢到 .csv.

出现问题是因为我花了最后一个小时试图找出如何提取网站上的 'team player' 字段。这是一个跨度,这是我遇到的第一个在名称space中有space的scrapy实例,这似乎是不明智的。

下面是我的代码,除了拉动 "team position" 最后一行外,一切正常。所提供的代码只是我为实现此目标而进行的多次迭代的代表。任何帮助将不胜感激。

import scrapy


class CBS200Spider(scrapy.Spider):
name = "expr"
start_urls = [
    'https://www.cbssports.com/fantasy/football/rankings/ppr/top200/',
    #'https://www.cbssports.com/fantasy/football/rankings/standard/top200/',
]

def parse(self, response):
    for plyr in response.css('div.player-row'):
        yield {
            'name': plyr.css('.player-name::text').get(),
            'rank': plyr.css('.rank::text').get(),
            'team': plyr.css('team position::text').get(),
        }

因为 CSS teamposition 是两个 类 并且你必须使用 dot 两次 - 没有 space.

 '.team.position::text'

顺便说一句:xpath"team position" 视为同一个名字。