编写 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 team
和 position
是两个 类 并且你必须使用 dot
两次 - 没有 space.
'.team.position::text'
顺便说一句:xpath
将 "team position"
视为同一个名字。
对 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 team
和 position
是两个 类 并且你必须使用 dot
两次 - 没有 space.
'.team.position::text'
顺便说一句:xpath
将 "team position"
视为同一个名字。