首页
/
每日頭條
/
生活
/
python爬蟲中文
python爬蟲中文
更新时间:2024-04-29 12:05:13

在使用爬蟲程序下爬數據時候,經常會遇到亂碼的問題,那遇到亂碼該怎麼辦呢?

一般大家看到亂碼,下意識的覺得會不會是爬蟲爬錯東西了?其實沒有,這個就是簡單的編碼的問題。

一般在爬蟲程序中,涉及到編碼格式的地方有兩處,一處是在發起請求後,對返回的内容進行解碼;另一處是在保存文件時,設置編碼格式。下面我們分開來說。

1. 發起請求,獲取網頁内容階段

一般的網站的編碼格式都是 UTF-8,所以當你系統的默認編碼也是 UTF-8 時,也就是說,你的默認編碼方式和目标網站的編碼方式一緻時,即使不明确設置編碼方式,也不會出問題。

但是如果不一緻,便會出現亂碼。這也是為什麼經常有 明明在我電腦上運行是好的,為什麼在你電腦上就亂碼了 這樣的問題。這種問題解決也很簡單,隻要在代碼中設置一下 encoding 即可。 這裡建議一種方法,r.encoding = r.apparent_encoding ,這個可以自動推測目标網站的編碼格式,省的你自己去一個個設置(當然極少數情況下它可能會推測錯誤出現亂碼,到時候你再手動去查看網頁編碼,手動設置吧)。

def fetchURL(url): headers = { 'accept':'text/html,application/xhtml xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36', } r = requests.get(url,headers=headers) # 這裡設置編碼格式 r.encoding = r.apparent_encoding return r.text

2. 保存文件時的編碼錯誤

這個是讀者朋友們反映較多的一個問題,就是爬取過程中沒問題,但是用 excel 打開保存好的 csv 文件時出現亂碼(用記事本打開沒問題),這個其實就是文件的編碼方式和 Excel 的解碼方式不一緻導緻的。

在 dataframe.to_csv 這句,參數裡添加一個 encoding='utf_8_sig',指定文件的編碼格式,應該就可以解決了。

import pandas as pd def writePage(urating): ''' Function : To write the content of html into a local file ''' dataframe = pd.DataFrame(urating) dataframe.to_csv('filename.csv',encoding='utf_8_sig', mode='a', index=False, sep=',', header=False )

之前亂碼的 csv 文件,可以用記事本打開,然後點另存為,然後選擇編碼格式,ANSI ,unicode,UTF-8 都可以,然後保存之後,再次用 excel 打開就是正常的了。

3. 常見亂碼類型

常見的亂碼情況有以下幾種,大家可以參考一下。

python爬蟲中文(爬蟲遇到亂碼怎麼辦)1

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
虎牙上好佳的故事
虎牙上好佳的故事
經常看虎牙直播的朋友們,應該都知道"飯桶團"和"渣男團"這兩個組合吧。這兩個團隊可是虎牙"重量級團隊",飯桶團心态,夢飛,渣男團童子、浣熊君都是幾名非常厲害,人氣也非常高的王者榮耀主播。一直以...
2024-04-29
紅薯冬天怎麼保存
紅薯冬天怎麼保存
紅薯冬天怎麼保存?室内儲存,紅薯怕冷,當溫度過低時,就會受凍,形成硬心,蒸不熟、煮不爛;如溫度過高時,又會生芽,最好把室溫控制在15℃左右紅薯受了潮濕,很容易引起病菌侵害,造成腐爛,最好放在透氣的木闆箱内保存,今天小編就來聊一聊關于紅薯冬天...
2024-04-29
哺乳期能吃小龍蝦嗎
哺乳期能吃小龍蝦嗎
哺乳期能吃小龍蝦嗎?哺乳期可以适量吃小龍蝦小龍蝦的營養十分豐富,含有豐富的優質蛋白、維生素、礦物質及多種氨基酸,我來為大家科普一下關于哺乳期能吃小龍蝦嗎?下面希望有你要的答案,我們一起來看看吧!哺乳期能吃小龍蝦嗎哺乳期可以适量吃小龍蝦。小龍...
2024-04-29
為什麼不建議糖友吃這些食物
為什麼不建議糖友吃這些食物
前段時間我們單位體檢,許多男性朋友都檢查出了有高血糖的征兆,這無疑會給他們的生活帶來一定的困擾。糖尿病患者在飲食上一定要多加注意,避免引起一些其他疾病的發生。今天就讓我們一起來了解一下哪些食物是糖尿病不能吃的吧。一、糖尿病的原因糖尿病,顧名...
2024-04-29
活力滿滿加油親愛的自己
活力滿滿加油親愛的自己
活力滿滿加油親愛的自己?今天的我過得很充足我真的算是負債前行,20多萬,父母有病你要出錢,疫情厲害,導緻生意失敗,賠了,孩子小,你要陪孩子,就不可能有固定的時間去找工作所以我就到處想找兼職但是适合我們的兼職有嗎?呵呵,根本沒有就是套路都是很...
2024-04-29
Copyright 2023-2024 - www.tftnews.com All Rights Reserved