【发布时间】:2018-07-26 15:51:36
【问题描述】:
这里是网页抓取和从 csv 转换保存的抓取数据的代码 格式化为“.xlsx”文件。
当我使用命令行运行此代码时 - scrapy crawl spider_name -o file_name.csv 通过从抓取数据中提取到 csv
格式,项目文件夹中不会生成excel文件。没有错误信息。请建议如何摆脱这个未知的麻烦。
import os
import scrapy
import csv
import glob
from openpyxl import Workbook
class QuotesSpider(scrapy.Spider):
name = "quotes"
allowed_domains = ["quotes.toscrape.com"]
start_urls = (
'http://quotes.toscrape.com/',
)
def parse(self, response):
h1_tag = response.xpath('//h1/a/text()').extract_first()
tags = response.xpath('//*[@class="tag-item"]/a/text()').extract()
yield {'H1 Tag': h1_tag, 'Tags': tags}
def close(self, reason):
csv_file = max(glob.iglob("*.csv"), key=os.path.getctime)
wb = Workbook()
ws = wb.active
with open(csv_file, 'r') as f:
for row in csv.reader(f):
ws.append(row)
wb.save(csv_file.replace('.csv', '') + '.xlsx')
【问题讨论】: