Python Scrapy返回200,但关闭Spider时什么也没有

Python Scrapy返回200,但关闭Spider时什么也没有,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,Scrapy新手,正在尝试创建一些简单的Html表。我发现一个站点在同一个页面中的两个不同的表具有相同的模式,但是这种刮取似乎在其中一种情况下有效,而在另一种情况下无效。以下是链接: 我的有效代码(第一个表,位于顶部): 现在出于某种原因,当我尝试清理下表(使用相关的xPath选择器)时,它不会返回任何结果: import scrapy class PostSpider(scrapy.Spider): name = 'stats' start_urls = [

Scrapy新手,正在尝试创建一些简单的Html表。我发现一个站点在同一个页面中的两个不同的表具有相同的模式,但是这种刮取似乎在其中一种情况下有效,而在另一种情况下无效。以下是链接:

我的有效代码(第一个表,位于顶部):

现在出于某种原因,当我尝试清理下表(使用相关的xPath选择器)时,它不会返回任何结果:

import scrapy


class PostSpider(scrapy.Spider):

    name = 'stats'

    start_urls = [
        'https://fbref.com/en/comps/12/stats/La-Liga-Stats',
    ]

    def parse(self, response):

       for row in response.xpath('//*[@id="stats_standard"]//tbody/tr'):
           yield {
               'player': row.xpath('td[2]//text()').extract_first(),
               'nation': row.xpath('td[3]//text()').extract_first(),
               'pos': row.xpath('td[4]//text()').extract_first(),
               'squad': row.xpath('td[5]//text()').extract_first(),
               'age': row.xpath('td[6]//text()').extract_first(),
               'born': row.xpath('td[7]//text()').extract_first(),
               '90s': row.xpath('td[8]//text()').extract_first(),
               'att': row.xpath('td[9]//text()').extract_first(),
           }
这是我执行
scrapy crawl stats
时终端的日志:

2020-07-23 17:35:33 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://fbref.com/robots.txt> (referer: None)
2020-07-23 17:35:33 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://fbref.com/en/comps/12/stats/La-Liga-Stats> (referer: None)
2020-07-23 17:35:34 [scrapy.core.engine] INFO: Closing spider (finished)
2020-07-2317:35:33[scrapy.core.engine]调试:爬网(200)(参考:无)
2020-07-23 17:35:33[scrapy.core.engine]调试:爬网(200)(参考:无)
2020-07-23 17:35:34[刮屑核心发动机]信息:关闭卡盘(完成)
发生这种情况的原因是什么?就我所见,这些表具有相同的结构。

问题在于源代码中没有可用的
id=“stats\u standard”
,请查看此处
查看源代码:https://fbref.com/en/comps/12/stats/La-Liga-Stats
在实时HTML代码中。它以注释代码的形式提供

尝试
response.css('.placeholder::text').getall()
。您需要使用正则表达式对其进行解析,也可以使用scrapy导入选择器中的库

from scrapy import Selector    
Selector(text=you_raw_html)
from scrapy import Selector    
Selector(text=you_raw_html)