这是用于Web抓取和转换从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')
答案 0 :(得分:0)
尝试此命令:
scrapy crawl <spider name> -o file.csv -t csv