首页
/
每日頭條
/
生活
/
python爬蟲中文
python爬蟲中文
更新时间:2024-12-30 03:15:48

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

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

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

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
推荐阅读
上飛機可以帶水嗎
上飛機可以帶水嗎
可以,但是不可以超過100毫升。根據《中國民用航空旅客行李運輸規則》:飛機禁止攜帶易燃易爆物品,管制刀具槍械物品,有強腐蝕性的物品,有毒物品。同時,飛機禁止攜帶液體(超過100毫升),有特殊用途的液體(例如急救藥品)要出示證明。上飛機不能帶什麼:1、化妝品限量攜帶容器容積不能超過100ml,洗發精、沐浴露不包括在内。2、打火機、刀具、異味很大的食品、水果、酒、飲料詳:乘坐國内航班的旅客可随身攜帶單
2024-12-30
家裡檸檬多了吃不完怎麼辦
家裡檸檬多了吃不完怎麼辦
1、新鮮的檸檬放不了多久,放在冰箱裡也不能放太久了,可以将檸檬切片後曬幹或者烘幹後密封存放,在飲用時可以取出來一兩片放到杯子裡泡開,加點蜂蜜會酸酸甜甜,是非常好喝的一款飲料。2、新鮮檸檬酸味足,是常用的飲料添加作料,用于增強飲料的口感,但是要直接生吃就太酸,還有點澀,很多人都接受不了。但是夏天可以自己嘗試制作各種飲品,添加一點檸檬水(将檸檬從中間切開,用手将檸檬外皮捏住擠出水,過濾掉檸檬子籽,就是
2024-12-30
女生初次見面問你年齡怎麼回答
女生初次見面問你年齡怎麼回答
第一、幽默回答法這個要根據女孩子性格而決定,如果女孩子喜歡開玩笑,那麼直接用幽默的方式表達出來,比如把自己說的很老,自己是返老還童之類,女孩子和你之間的氣氛會很輕松的。第二、健忘回答法假裝自己忘記了,然後告訴女孩子咱們可以一邊吃點零食一邊想自己有多大了,這樣一來,既能夠請女孩子吃點好吃的,還能拉進彼...
2024-12-30
如何不讓别人退出qq群
如何不讓别人退出qq群
1、無法不讓别人退出qq群。2、QQ是騰訊QQ的簡稱,是一款基于Internet的即時通信(IM)軟...
2024-12-30
女生如何提升自己的氣質
女生如何提升自己的氣質
1、多讀書,腹有詩書氣自華,一個人的言談舉止是否得體,除了小時候受父母影響,上學時受老師教育的影響,更多的則是來自自己的所見所聞,内心的體會,多讀一些文學、史學、哲學方面的書,可以使自己更了解這個世界,遇事不慌,處事震驚。2、運動,瑜伽、國标、跑步都是不錯的選擇,長期堅持可以使我們更健康,更有力量,...
2024-12-30
Copyright 2023-2024 - www.tftnews.com All Rights Reserved