【问题标题】:Trouble writing Scrapy selector编写 Scrapy 选择器时遇到问题
【发布时间】:2019-08-14 02:26:50
【问题描述】:

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

【问题讨论】:

  • 值得一提的是,我也一直在疯狂地尝试各种事情,但仍然没有得到任何回报
  • 第三方应用程序和扩展程序(Chrome、Firefox)也可以为您提供帮助

标签: python scrapy pyspider


【解决方案1】:

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

 '.team.position::text'

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2020-09-15
    • 2010-12-27
    • 1970-01-01
    相关资源
    最近更新 更多