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位址中指定的網路資源從網路流中讀取出來,儲存到本地。類似...