Scrapy-从表中提取数据

Scrapy-从表中提取数据,scrapy,Scrapy,我试图将数据从表中提取到CSV文件的单独字段中 网站中的表格如下所示: 网页的(部分)来源如下所示: 但我无法检索此网站表格中显示的值。表的标准方法使用: response.xpath('//*[@class="table paratable"] 似乎不起作用,或者我没有足够的经验来设置正确的参数。 有谁能给我提供一些代码行,使 将此表中的值输入到我的CSV文件的以下列中 KDV_2006 KDV_2008 KDV_2009 KDV_2010 KDV_2011 BSO_

我试图将数据从表中提取到CSV文件的单独字段中

网站中的表格如下所示:

网页的(部分)来源如下所示:

但我无法检索此网站表格中显示的值。表的标准方法使用:

 response.xpath('//*[@class="table paratable"]
似乎不起作用,或者我没有足够的经验来设置正确的参数。 有谁能给我提供一些代码行,使 将此表中的值输入到我的CSV文件的以下列中

KDV_2006 KDV_2008 KDV_2009 KDV_2010 KDV_2011 BSO_2006 BSO_2008
BSO_2009 BSO_2010 BSO_2011
一种可能的方式:

result = {}
years = response.xpath('//div[@class="paratable"]/table/tr[1]/th[position() > 1]/text()').getall()
for row in response.xpath('//div[@class="paratable"]/table/tr[position() > 1][position() < last()]'):
    field_name = row.xpath('./th/text()').get()
    values = row.xpath('./td/text()').getall()
    for year, value in zip(years, values):
        result[f'{field_name}_{year}'] = value
result={}
years=response.xpath('//div[@class=“paratable”]/table/tr[1]/th[position()>1]/text()).getall()
对于response.xpath(“//div[@class=“paratable”]/table/tr[position()>1][position()
太棒了!工作起来很有魅力!谢谢
KDV_2006 KDV_2008 KDV_2009 KDV_2010 KDV_2011 BSO_2006 BSO_2008
BSO_2009 BSO_2010 BSO_2011
result = {}
years = response.xpath('//div[@class="paratable"]/table/tr[1]/th[position() > 1]/text()').getall()
for row in response.xpath('//div[@class="paratable"]/table/tr[position() > 1][position() < last()]'):
    field_name = row.xpath('./th/text()').get()
    values = row.xpath('./td/text()').getall()
    for year, value in zip(years, values):
        result[f'{field_name}_{year}'] = value