我是一名足球迷,正在努力学习scrapy。但是,我遇到了一些与xpath相关的问题,并且想知道是否有人可以提供帮助。我在https://whoscored.com/Statistics页面上,试图获取2774名玩家的所有信息。这可能听起来像一个全新的问题,但我如何刮掉球员的名字?我尝试使用
`response.xpath('//*[(@id = "player-table-statistics-body")]//*[contains(concat( " ", @class, " " ), concat( " ", "player-link", " " ))]/text()').extract()`
但它并没有刮掉任何东西。我在Chrome中使用了selectorgadget获得了xpath。但是,
`response.xpath('//*[contains(concat( " ", @class, " " ),
concat( " ", "player-link", " " ))]/text()').extract()`
可以工作,但它也会删除我不想要的统计XI列表中的所有名称。非常感谢这里的一些帮助。谢谢!
@Steve这就是我在scrapy shell中所做的事情:
scrapy shell https://www.whoscored.com/Statistics
response.xpath('//*[(@id = "player-table-statistics-body")]//*[contains(@class, "player-link")]/text()').extract()
我认为这会给我十个我正在寻找的名字,但它并没有。在这一点上我真的很无能为力!
答案 0 :(得分:0)
xpath ('//*[(@id = "player-table-statistics-body")]//*[contains(@class, "player-link")]/text()')
从“玩家统计”表中获得10名玩家。
你想用concats实现什么目标?
答案 1 :(得分:0)
关注Xpath将为您效劳。
player_list = respose.xpath('//*[@id="overall-formation-seasonal-content"]//li//a[contains(@class,"player-link")]/text()')