scrapy導(dǎo)出文件時出現(xiàn)中文亂碼怎么辦-創(chuàng)新互聯(lián)

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

從事四川雅安電信機房,服務(wù)器租用,云主機,虛擬空間,域名注冊,CDN,網(wǎng)絡(luò)代維等服務(wù)。

背景:

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

解決方法

第一種方法:

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

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默認有ITEM_PIPELINES配置,只是注銷掉了。
3.使用scrapy命令導(dǎo)出時,直接執(zhí)行:

scrapy crawl baidu

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標題名稱:scrapy導(dǎo)出文件時出現(xiàn)中文亂碼怎么辦-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article16/dpspgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站收錄、標簽優(yōu)化靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計

廣告

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

小程序開發(fā)