scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼怎么辦

scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼怎么辦?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,這篇文章總結(jié)了scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼的解決辦法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、旌陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為旌陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

背景:

使用scrapy crawl spidername -o filename.json命令執(zhí)行爬蟲,并將item寫入文件,發(fā)現(xiàn)中文亂碼,比如這樣子:
scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼怎么辦

解決方法

第一種方法:

使用scrapy命令導(dǎo)出時(shí)指定編碼格式

scrapy crawl baidu -o baidu_med.json -s FEED_EXPORT_ENCODING=utf-8
第二種方法:

借助Pipeline將item寫入到文件
1.修改pipelines.py,添加:

import json
import codecs

class YiyaoPipeline(object):
    def __init__(self):
        self.file = codecs.open('item.json', 'wb', encoding='utf-8')

    def process_item(self, item, spider):
        line = json.dumps(dict(item), ensure_ascii=False) + '\n'
        self.file.write(line)
        return item

2.修改settings.py,激活pipeline:

ITEM_PIPELINES = {
   'yiyao.pipelines.YiyaoPipeline': 300,
}

注意:settings.py默認(rèn)有ITEM_PIPELINES配置,只是注銷掉了。
3.使用scrapy命令導(dǎo)出時(shí),直接執(zhí)行:

scrapy crawl baidu 

看完這篇文章,你能夠獨(dú)立解決scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼的問題了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

標(biāo)題名稱:scrapy導(dǎo)出文件時(shí)出現(xiàn)中文亂碼怎么辦
網(wǎng)站網(wǎng)址:http://muchs.cn/article32/gesopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、外貿(mào)建站、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管