Python: file: encode: ‘gbk‘ codec can‘t encode character ‘\xe5‘ in position

錯誤

response = requests.get(url, timeout=5) # 請求一個網頁
with open(‘response.txt’, ‘w’) as file: # 打開一個文件
file.write(response.text) # 向文件寫入response
提示錯:
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xe5’ in position 520: illegal multibyte sequence

原因

這個是因為文件打開使用的編碼方式是gbk,是open默認的,在response.text里有gbkencode不了的編碼。導致錯誤。如果換成utf-8,倒是可以輸出到文件:
with open(‘response.txt’, ‘w’, encoding=‘utf-8’) as file:
修改這一句,可以繞過這個錯誤,但是,打開網頁出現亂碼。

本地的默認設置是gbk。

>>> import locale
>>> print(locale.getdefaultlocale())
('zh_CN', 'cp936')

Doc/library/codecs.rst

| gbk             | 936, cp936, ms936              | Unified Chinese                |

從網上搜了一下,response自帶編碼方式,可以查閱。

>>> print(response.encoding)
ISO-8859-1

最后改成ISO-8859-1就好了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88098.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyTorch深度學習框架60天進階學習計劃 - 第59天模型魯棒性(一):對抗樣本生成機理與PGD攻擊詳解

PyTorch深度學習框架60天進階學習計劃 - 第59天模型魯棒性(一):對抗樣本生成機理與PGD攻擊詳解 🎯 第一部分:對抗樣本的魔法世界 哈嘍各位"反黑客"學員!歡迎來到第59天的課程!今天我…

kibana和elasticsearch安裝

1、elasticsearch 6.8.23 安裝包下載地址: Elasticsearch 6.8.23 | Elastic 通過網盤分享的文件:elasticsearch-6.8.23.zip 鏈接: https://pan.baidu.com/s/1D2SrJ8nVBlqC1QNswmMJXg?pwd1234 提取碼: 1234 2、kibana 6.8.23 安裝包下載地址&#xff…

vue3 el-table row-class-name 行字體顏色失效

在使用 Vue 3 中的 el-table 組件時,如果你遇到了 row-class-name 屬性設置的行顏色失效,并被 el-table 的默認樣式覆蓋的問題,通常是因為 CSS 優先級或者樣式沖突導致的。這里有幾個方法可以幫助你解決這個問題: 1. 增加 CSS 優…

【跨界新視野】信號處理遇上VR/AR:下一代沉浸體驗的核心技術與您的發表藍海

導語: 元宇宙概念雖經歷起伏,但其底層支撐技術——信號處理(Signal Processing)與虛擬/增強現實(VR/AR) 的融合創新正蓬勃發展。從高保真音效定位、腦機接口信號解析,到實時三維重建與交互渲染&…

VMware 2025安裝教程(附安裝包)VMware 2025下載詳細安裝圖文教程

文章目錄 引言第A部分:vmware虛擬機安裝包的獲取與準備第1步:下載VMware虛擬機安裝程序 第B部分:VMware虛擬機安裝步驟第3步:啟動安裝向導第4步:同意軟件許可協議第5步:設定程序安裝路徑第6步:配…

wsl2 用橋接方式連網

安裝 Hyper-V windows 家庭版怎么安裝 Hyper-V-CSDN博客 用管理員打開 PowerShell 執行 Get-NetAdapter 出系統所有的網卡,記住想要橋接的網卡名稱 無線網名稱一般為 WLAN,有線網名稱一般為 以太網,我的是 以太網 2 執行 Get-VMSwitch 查…

<tauri><threejs><rust><GUI>基于tauri和threejs,實現一個3D圖形瀏覽程序

前言 本專欄是基于rust和tauri,由于tauri是前、后端結合的GUI框架,既可以直接生成包含前端代碼的文件,也可以在已有的前端項目上集成tauri框架,將前端頁面化為桌面GUI。 發文平臺 CSDN 環境配置 系統:windows 10 …

C++基礎之指針

文章目錄 指針介紹 C指針的定義與用法指針的定義指針的基本操作指針的常見用法1. 動態內存分配2. 指針與數組3. 指針作為函數參數(傳址調用)4. 函數返回指針 特殊指針類型智能指針(C11起)2.入門代碼3.總結 指針介紹 C指針的定義與…

基于存儲過程的MySQL自動化DDL同步系統設計

在現代SaaS與微服務架構中,數據庫結構的自動化管理成為保障系統迭代效率與數據一致性的關鍵一環。本文將圍繞如何通過 MySQL 存儲過程構建一個自動建表、字段同步、索引維護、錯誤日志記錄于一體的 DDL 自動同步系統,提供一套完整的工程化實現方案。 一…

【cmake學習】添加庫文件

文章目錄 目的一、原理二、步驟1.修改CMakeList2.main函數如下3.編譯運行 目的 上一篇 學習了使用cmake 構建多源文件工程在項目開發工程中,一般都會生成庫文件或者調用其它的一些庫文件,所以我們要學習一下簡單生成和使用庫文件這里主要介紹 add_libra…

Docker容器化部署實戰:Spring Boot + MySQL + Nginx 一鍵部署完整指南

?? 前言 容器化技術已經成為現代軟件部署的標準實踐。作為一名DevOps工程師,我在過去幾年中參與了數十個項目的容器化改造,深刻體會到Docker在提升部署效率、環境一致性和運維便利性方面的巨大價值。 今天我將通過一個完整的實戰案例,詳細展示如何使用Docker部署一個包含…

分布式選舉算法<一> Bully算法

分布式選舉算法詳解:Bully算法 引言 在分布式系統中,節點故障是不可避免的。當主節點(Leader)發生故障時,系統需要快速選舉出新的主節點來保證服務的連續性。Bully算法是一種經典的分布式選舉算法,以其簡…

高效調試 AI 大模型 API:用 Apipost 實現 SSE 流式解析與可視化

借助 AI 大模型的實時接口(如 OpenAI GPT 或其他第三方模型 API),開發者可以通過 SSE(Server-Sent Events)流式處理數據,實時獲取模型的逐步輸出。這一技術已廣泛應用于實時問答、代碼生成等領域。本文將基…

【網絡產品經營】園區網絡

園區網絡的產品經營邏輯發生顯著變化,從傳統的“連接功能”導向轉向“業務體驗驅動”,并結合行業場景化需求、技術架構革新及智能化能力提升,形成多維度的產品策略升級。 一、技術架構變革:從多層復雜到極簡全光 傳統架構的瓶頸與…

EasyExcel 4.X 讀寫數據

文章目錄 EasyExcel與SpringBoot集成讀數據讀取數據的流程定義實體類簡單讀取自定義監聽器 讀取指定sheet和所有sheet多行頭讀取數據格式轉換列表數據實體類自定義轉換器自定義監聽器數據讀取 寫數據簡單數據寫出存儲到磁盤返回前端下載 寫出指定列寬,和數值精度丟失…

JVM內存管理<一>:Java內存異常問題排查

一、 內存溢出問題的排查 1. 使用工具 - jdk自帶 jmapvisualvm 2. 流程 堆轉儲: (1) 方法一:程序運行時,采用:jmap -dump:formatb,filed:\\data\\xxlJob.hprof 23300 進行堆文件的轉儲 (2) 方法二:在內存溢出的時候…

Android中Glide.with().load().into() 應付面試源碼解析

1. with(this):生命周期綁定 Glide.with(Activity/Fragment/Context) 核心機制:創建與 UI 生命周期綁定的 RequestManager 底層實現: 通過 RequestManagerRetriever 獲取單例 非 Application 上下文: 向 Activity/Fragment 添加…

#### es相關內容的索引 ####

倒排索引 結構 #### es倒排索引的結構 ####-CSDN博客 向量索引 結構應用 #### es向量檢索 的 結構及應用_es 向量 文本檢索-CSDN博客 ann算法 ann算法的種類有哪些,之間的區別,各自的適用場景-CSDN博客 地理信息索引 es地理信息索引的類型以及geo_po…

小飛電視:智能電視與移動設備的娛樂新選擇

在數字娛樂時代,人們對于影視內容的需求日益增長,不僅追求豐富多樣的節目選擇,還希望獲得便捷、個性化的觀看體驗。小飛電視正是這樣一款專為智能電視和移動設備設計的視頻娛樂應用,它憑借海量的影視資源、高清流暢的播放效果以及…

刪除node并且重裝然后重裝vue

參考第一篇文章 node.js卸載與安裝超詳細教程_node卸載重裝-CSDN博客 第二篇文章安裝vue Vue安裝與配置教程(非常詳細)_安裝vue-CSDN博客