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

作者:黄成 时间: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,
        '.pipelines.HanziconvPipeline': 300
    }
    

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

你可能感兴趣的:(Scrapy中将item字段转为简体or繁体)