如何存放一张有刮痧的桌子?

2024-04-25 09:28:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的,我有一些麻烦,以获得一个表数据。 我正试图将id=grdTableView\u DXMainTable的表存储在一个文件中,该表来自: 查看源:http://databank.worldbank.org/data/reports.aspx?source=2&series=SE.PRM.NENR&country=

我使用以下代码:

import scrapy

class mySpider(scrapy.Spider):
    name = "education"

    def start_requests(self):
        urls = [
          'http://databank.worldbank.org/data/reports.aspx?source=2&series=SE.PRM.NENR&country=',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'education-%s.html' % page
        with open(filename, 'wb') as f:    
            f.write(hxs.select('//table[@class="grdTableView_DXMainTable"]/td.//text()').extract())      
            self.log('Saved file %s' % filename)

生成的html文件为空。有人能帮我吗?你知道吗


Tags: 文件orgselfhttpurlsourcedatafilename
1条回答
网友
1楼 · 发布于 2024-04-25 09:28:00

代码中有些地方不正确:

1)您使用的hxs.select代码的任何部分都没有定义。你知道吗

2)值grdTableView_DXMainTable不是class名称,而是ID。您可以使用以下方法提取所有表信息: response.xpath('//table[@id="grdTableView_DXMainTable"]//td//text()').extract()

3)如果要保留所有HTML代码,最好这样做: response.xpath('//table[@id="grdTableView_DXMainTable"]').extract_first()

相关问题 更多 >

    热门问题