0

对 python 非常陌生,试图探索从另一种语言导入一个长期开发的项目的可能性,一个伙伴发誓 Python 是我的答案。我已经启动并运行了 IDE,scrapy 正常工作并正确地将网站上列出的“名称”和“排名”方便地踢到 .csv。

问题出现在我花了最后一个小时试图弄清楚如何在网站上提取“团队玩家”字段。这是一个跨度,这是我遇到的第一个在命名空间中有空格的 scrapy 实例,这似乎是不明智的。

下面是我的代码,除了最后一行“团队位置”之外,一切正常。提供的代码只是我尝试获得此代码的许多迭代的代表。任何帮助将不胜感激。

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(),
        }
4

1 回答 1

0

对于 CSSteamposition是两个类,你必须使用dot两次 - 没有空间。

 '.team.position::text'

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

于 2019-08-14T02:43:35.770 回答