zoukankan      html  css  js  c++  java
  • Scrapy基础(十一)————导出数据到json文件中


      之前介绍过将数据写入mysql数据库中,但是对于那些没有数据库的,可以通过写入json文件中
    或者是写入到csv或者xls;这里只介绍写入json文件中,也为再练习一下自定义的pipeline

    思路:    

        1,写入数据库中,从数据库中可以以各种形式导出


        2,自定义pipeline,注册在setting中

     1 import codecs
     2 
     3 class JsonWithEncoding(object):
     4     '''
     5     自定义导出json文件
     6     '''
     7     def __init__(self):
     8         #使用codecs模块的打开方式,可以指定编码打开,避免很多编码问题
     9         self.file = codecs.open("atrical.json","w",encoding="utf-8")
    10 
    11     def process_item(self,item,spider):
    12         lines = json.dumps(dict(item),ensure_ascii=False)+"
    "
    13         self.file.write(lines)
    14 
    15         #注意别忘返回Item给下一个管道
    16         return item
    17     def spider_closed(self,spider):
    18         self.file.close()
    以下是ensure_ascii讲解
    如果``ensure_ascii``为false,则返回值可以包含非ASCII
    如果它们出现在“obj”中包含的字符串中。否则,全部
    这些字符在JSON字符串中转义

     

    在settings中注册管道并写上顺序

    一下是运行结果(部分)



























    '''

  • 相关阅读:
    40-cut 简明笔记
    50-ln 简明笔记
    35-less 简明笔记
    37-more 简明笔记
    9-cat 简明笔记
    64-who 简明笔记
    60-chmod 修改文件的权限
    useradd 添加用户
    14-find 查找文件
    层次越低的人,越容易放弃自己
  • 原文地址:https://www.cnblogs.com/ruoniao/p/6900870.html
Copyright © 2011-2022 走看看