美文网首页我爱编程
Scrapy中将item字段转为简体or繁体

Scrapy中将item字段转为简体or繁体

作者: MR_ChanHwang | 来源:发表于2018-04-09 17:35 被阅读0次

    作者:黄成 时间:2018年04月09日

    1. 安装hanziconv

    安装一个简繁体转换的包:

    $ pip install hanziconv
    

    2. 自定义一个itempiples

    1. 找到项目中的pipelines.py文件

    2. 添加自定义的pipeline:

      from hanziconv import HanziConv
      
      class HanziconvPipeline(object):
      
          def process_item(self, item, spider):
              project_info = item['project_info']
              for key, value in project_info.items():
                  if value is not None:
                      if isinstance(value, unicode):
                          value = HanziConv.toTraditional(str(value))
                          print key, value
                          project_info[key] = value
                      else:  # 不为中文不处理
                          pass
                  else:  # value为None 初始化为空串
                      project_info[key] = ""
              return item
      

      此代码为本人项目代码,判断value为unicode,则转换为繁体;

      若要将繁体转换为简体,请将toTraditional改为toSimplified

      3. 配置项目pipeline

      1. 找到settings.py中的ITEM_PIPELINES
      2. 添加自定义的pipelines:
      ITEM_PIPELINES = {
          'scrapy_redis.pipelines.RedisPipeline': 400,
          '<project_name>.pipelines.HanziconvPipeline': 300
      }
      

      :warning: <project_name>需手动修改为自己的项目名称!

    相关文章

      网友评论

        本文标题:Scrapy中将item字段转为简体or繁体

        本文链接:https://www.haomeiwen.com/subject/lhnihftx.html