我是新来的,我有一些麻烦,以获得一个表数据。 我正试图将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文件为空。有人能帮我吗?你知道吗
代码中有些地方不正确:
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()
相关问题 更多 >
编程相关推荐