1. 程式人生 > >python寫入html檔案中文亂碼-解決辦法

python寫入html檔案中文亂碼-解決辦法

python寫入html檔案中文亂碼問題

使用open函式將爬蟲爬取的html寫入檔案,有時候在控制檯不會亂碼,但是寫入檔案的html中的中文是亂碼的

案例分析

看下面一段程式碼:

# 爬蟲未使用cookie
from urllib import request

if __name__ == '__main__':
    url = "http://www.renren.com/967487029/profile"

    rsp = request.urlopen(url)

    html = rsp.read().decode()

    with open("rsp.html"
,"w")as f: # 將爬取的頁面 print(html) f.write(html)

看似沒有問題,並且在控制檯輸出的html也不會出現中文亂碼,但是建立的html檔案中
這裡寫圖片描述

解決方案

使用open方法的一個引數,名為encoding=” “,加入encoding=”utf-8”即可

# 爬蟲未使用cookie
from urllib import request

if __name__ == '__main__':
    url = "http://www.renren.com/967487029/profile"

    rsp = request.urlopen(url)

    html = rsp.read
().decode() with open("rsp.html","w",encoding="utf-8")as f: # 將爬取的頁面 print(html) f.write(html)

執行結果

- 本筆記不允許任何個人和組織轉載

相關推薦

python寫入html檔案中文亂碼-解決辦法

python寫入html檔案中文亂碼問題 使用open函式將爬蟲爬取的html寫入檔案,有時候在控制檯不會亂碼,但是寫入檔案的html中的中文是亂碼的 案例分析 看下面一段程式碼: # 爬蟲未使用cookie from urllib import req

python 讀取 csv 中文 亂碼 解決辦法

解決辦法 pre pen 讀取 gb2 line with pri clas import codecs with codecs.open(‘h.csv‘, ‘rb‘, ‘gb2312‘) as csvfile: for line in csvfile:

python在cmd中文亂碼解決辦法

背景:在cmd命令列中執行py指令碼。然而,出現了中文亂碼。一時無解。 之前遇到過這種情況,在notepad++中進行編輯,將各式進行轉換既解決。這次卻忘記了解決辦法。 在notepad++

html中 Charset=UTF-8還是中文亂碼 解決辦法

utf-8是國際編碼,包括漢字,建議都設定成utf-8,省心; 步主如下: 第一:定義網頁顯示編碼。如果不定義網頁編碼,那麼我們瀏覽網頁的時候,IE會自動識別網頁編碼,這就有可能會導致中文顯示亂碼了。 所以我們做網頁的時候,都會用“<meta http-equiv=”

Tomcat中文亂碼解決辦法

-1 mage ima img con utf-8 結點 tor http 有時候發現自己將中文編碼後還是會存在亂碼的情況,解決辦法就是在Server.xml中的Connector結點,配置 URIEncoding="UTF-8"即可 Tomcat中文亂碼解決辦法

JMeter結果樹響應數據中文亂碼解決辦法

亂碼 sam bin vid ide 編碼 provide nco per encoding編碼 打開apache-jmeter-2.11\bin\jmeter.properties文件,搜索“encoding”關鍵字,找到如下配置: # The encoding to b

Linux下Tomcat向MySQL插入數據中文亂碼解決辦法

中文亂碼解決辦法Linux下Tomcat向MySQL插入數據中文亂碼解決辦法 一、問題 在windows上面使用eclipse開發的項目在windows上面運行一切正常,部署到騰訊雲時出現向MySQL數據庫中插入數據是中文亂碼 二、解決辦法 1、嘗試一直接在linux上面使用insert語句插入中文,正常2、

linux 中文亂碼解決辦法

fixed export 機器 dir amp vim亂碼 linux操作 簡單 str 就是從數據庫中取出來時,在存入linux的文件裏時,在字符流時制定編碼格式。代碼如下: FileOutputStream fos=new FileOutputStream(new F

centos java tomcat 中文亂碼解決辦法

title 查詢 發現 即使 art 操作 https size tro 現象: cenos 部署java web 程序 ,java類中有中文 出現亂碼現象 即使使用: System.getProperty("中文") 控制臺都出現 ??????

使用httpclient post請求中文亂碼解決辦法

gin pri div method con 情況下 turn .get 解決 使用httpclient post請求中文亂碼解決辦法 在使用httpclient發送post請求的時候,接收端中文亂碼問題解決。 正文: 我們都知道,一般情況下使用post請求

Python 讀寫檔案 中文亂碼 錯誤TypeError: write() argument must be str, not bytes+

今天使用Python向檔案中寫入中文亂碼,程式碼如下: fo = open("temp.txt", "w+") str = '中文' fo.write(str) fo.close() 1 2 3 4

Visual Studio Code 開啟程式檔案中文亂碼解決方法

文章原始地址: http://feotech.com/?p=76 使用Visual Studio Code開啟程式檔案後對應的中文亂碼,造成這種現象的原因是檔案的編碼方式不同. 可以通過調整開啟檔案的編碼方式來解決Visual Studio Code開啟中文亂碼的問題. 操

jsp中Get提交方式的中文亂碼解決辦法

解決辦法:   步驟1.  加過濾器,即在filter裡的init()里加上request.setCharacterEncoding("utf-8");相當於每個頁面的編碼都是utf-8, 步驟2.  將表單提交方法改成post方式,至於get方式的解決目前還不知道 上面兩

VS2017 輸出中文時候亂碼 vs2017 c語言輸出中文亂碼 解決辦法

Visual Studio提供高階儲存選項功能,它能指定特定程式碼檔案的編碼規範和行尾所使用的換行符。在Visual Studio 2017中,該命令沒有預設顯示在“檔案”選單中。使用者需要手工設定,才能顯示該命令。操作方法如下:(1)單擊“工具”|“自定義”命令,彈出“自定義”對話方塊。(2)單擊“命令”

JAVA中文亂碼解決辦法/修改TOMCAT預設編碼

頁面為UTF-8,jquery的ajax方法為utf-8傳值,中文會出現亂碼,給java頁面傳值時需要進行兩次轉碼encodeURI(); 例如: $.post("page.do",{str:encodeURI(encodeURI("中文"))},function(data){alert(data)

DBArtisan 8.5.4 中文亂碼解決辦法

1、當使用DBArtisan 8.5.4查詢資料出現中文亂碼時,可按以下步驟修改DBArtisan的字符集,如果不好用,請在修改sybase客戶端的字符集。   file → Options → Connection → Client Character Set :euc

SubLime Text3 Python不能輸出中文解決辦法

用ST3編寫Python想輸出中文,根據什麼都不顯示,但自己開個cmd用python 載入此指令碼卻顯示正常, 那麼問題出在st3的編碼問題上,可能預設的Python build沒指定編碼,找了半天也不知道其配置在哪裡,索性自己新建一個:     Tools->Bui

navicat for mysql 顯示中文亂碼解決辦法

最近遇到一個問題,用navicat for mysql 開啟資料庫時全都顯示的是亂碼(在用程式程式碼插入資料之前確保字元不是亂碼),遇到問題就的尋求解決之道,百度了好長時間也沒解決,網上那些解決辦法都不適合我的問題,網上的大多數解決方法是在navicat裡右擊一個連線,選擇連線屬性,切換到高階選項卡,去掉“使

Debian中文亂碼解決辦法

  昨天朋友安裝debian7遇到亂碼的問題,很噁心,因為在改的過程中還會遇到亂碼也就是說改不了。然後幫他百度了一下。。。。。。。。哈哈哈哈哈哈哈別問我他為什麼百度不出來,我也不造哦~~大概是因為我比較帥吧( ╯□╰ )    環境準備 如果沒有安

C++ \u中文亂碼解決辦法

以下是一個jsoncpp解析有\u中文json檔案的例子:std::string showname = rootOne[“showname”].asString();int len=strlen(showname.c_str())+1;char outch[M