编写Scrapy选择器时出现问题

时间:2019-08-14 02:26:50

标签: python scrapy pyspider

对于python来说是新手,它试图探索从另一种语言导入一个长期开发的项目的可能性,而一个伙伴则发誓Python是我的答案。我已启动并运行IDE,可以正常工作,并且可以将网站上列出的“名称”和“排名”适当地踢到.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(),
        }

1 个答案:

答案 0 :(得分:0)

对于CSS teamposition是两个类,您必须使用dot两次-不能有空格。

 '.team.position::text'

顺便说一句:xpath"team position"当作一个名字。