您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从scrapy导出csv文件(不通过命令行)

从scrapy导出csv文件(不通过命令行)

为什么不使用项目管道?

WriteToCsv.py

   import csv
   from YOUR_PROJECT_NAME_HERE import settings

   def write_to_csv(item):
       writer = csv.writer(open(settings.csv_file_path, 'a'), lineterminator='\n')
       writer.writerow([item[key] for key in item.keys()])

   class WriteToCsv(object):
        def process_item(self, item, spider):
            write_to_csv(item)
            return item

settings.py

   ITEM_PIPELINES = { 'project.pipelines_path.WriteToCsv.WriteToCsv' : A_NUMBER_HIGHER_THAN_ALL_OTHER_PIPELINES}
   csv_file_path = PATH_TO_CSV

如果您希望将项目分别写入单独的csv以获取单独的蜘蛛,则可以为蜘蛛指定CSV_PATH字段。然后,在管道中使用Spiders字段,而不是setttigs的路径。

其他 2022/1/1 18:24:16 有439人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶