python3 爬蟲抓取網頁出現亂碼問題解決方法

2021-08-28 07:12:04 字數 729 閱讀 4068

python抓取網頁並寫到本地檔案中,出現亂碼問題的關鍵有兩處:

抓取網頁資料後是否正確解碼

正確解碼後的html字串寫入檔案時是否正確編碼

要解決這兩個問題,首先要知道該網頁是如何編碼的,先看看下面**:

import requests

head =

url = ''

resp=requests.get(url, headers=head,timeout=15)

print(resp.headers['content-type'])

print(resp.encoding)

print(requests.utils.get_encodings_from_content(resp.text))

resp = requests.get(url, headers=head,timeout=15)

html_source=resp.text #這裡會用設定的解碼方式解碼

print(html_source) #正確解碼後直接列印也不會出現亂碼

resp.close()

if html_source:

#將html寫檔案時設定檔案編碼方式,因為和html裡設定的編碼格式一樣,所以直接開啟就不會出現亂碼了

file.write(html_source)

最後希望我的方法可以幫助大家解決亂碼問題。

Python3 爬蟲例項(一) 簡單網頁抓取

在著手寫爬蟲之前,要先把其需要的知識線路理清楚。http是hyper text transfer protocol 超文字傳輸協議 的縮寫。它的發展是全球資訊網協會 world wide web consortium 和internet工作小組ietf internet engineering ta...

Python3爬蟲(一)抓取網頁的html

因為 只有幾行,所以可以先貼 import urllib.request url r res urllib.request.urlopen url html res.read decode utf 8 print html 第一行,匯入 urllib庫的request模組 第二行,指定要抓取的網頁u...

Python3網頁抓取urllib

開啟網頁的過程其實就是瀏覽器作為乙個瀏覽的 客戶端 向伺服器端傳送了一次請求,把伺服器端的檔案 抓 到本地,再進行解釋 展現。爬蟲最主要的處理物件就是url,它根據url位址取得所需要的檔案內容,然後對它進行進一步的處理。網頁抓取,就是把url位址中指定的網路資源從網路流中讀取出來,儲存到本地。類似...