Python 如何储存一张有刮屑的桌子?
我是新来的,在获取表格数据时遇到了一些麻烦。 我正在尝试将id=grdTableView\u DXMainTable的表存储在文件中,该表来自: 查看来源: 我正在使用以下代码:Python 如何储存一张有刮屑的桌子?,python,scrapy,Python,Scrapy,我是新来的,在获取表格数据时遇到了一些麻烦。 我正在尝试将id=grdTableView\u DXMainTable的表存储在文件中,该表来自: 查看来源: 我正在使用以下代码: import scrapy class mySpider(scrapy.Spider): name = "education" def start_requests(self): urls = [ 'http://databank.worldbank.org/da
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文件为空。有人能帮我吗?您的代码中有些地方不正确: 1您使用的是hxs.select,代码的任何部分都没有定义它 2值grdTableView_DXMainTable不是类名,而是ID。您可以使用以下命令提取所有表信息: response.xpath'//table[@id=grdTableView\u DXMainTable]//td//text.extract 3如果您想保留所有HTML代码,最好这样做:
response.xpath'//table[@id=grdTableView\u DXMainTable]'。首先提取\u我用你的代码尝试过的可能的重复项,但如果我尝试将数据保存在文件中,它不会存储任何内容。你是否尝试过使用scrapy shell并调试每一步,看看失败的地方?我用过它,它对我很有效。