python爬網頁亂碼

2021-07-04 21:54:41 字數 876 閱讀 6193

最近搞爬蟲網頁經常亂碼,查了很多終於整出來了。

關於解碼編碼decode和encode

首先要搞清楚,字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字串轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode('gb2312'),表示將unicode編碼的字串轉換成gb2312編碼。

在某些ide中,字串的輸出總是出現亂碼,甚至錯誤,其實是由於ide的結果輸出控制台自身不能顯示字串的編碼,而不是程式本身的問題。

eg:#coding:utf-8

import urllib2

import os

req = urllib2.request("")

res = urllib2.urlopen(req)

html = res.read().decode('utf-8').encode('gbk')

res.close()

print html

os.system('pause')

搞清網頁編碼:例子是utf-8

python字串編碼是unicode

系統列印編碼是jbk

首先將網頁編碼解碼成python字串編碼,再講python字串編碼編碼成系統編碼

所以核心是

html = res.read().decode('utf-8').encode('gbk')

Python 爬取網頁

先謝郭嘉 以鏈家二手房為例 1.爬取網頁所必須的庫 import urllib.request import ssl 2.獲取預爬網頁資訊 1 網頁url 3.下面就可以爬取網頁了 以鏈家二手房為例 1.爬取網頁所必須的庫 import urllib.request import ssl 2.獲取預...

python爬網頁小案例

普通人 計畫失敗 沮喪 罵自己一頓 制訂新計畫 繼續失敗 學霸 計畫失敗 沮喪 罵自己一頓 深度思考計畫為啥失敗 改善問題 制訂 新計畫 案例 usr bin env python3 coding utf 8 import urllib.request import sys import io pr...

Python 爬取網頁資訊

對於本次學習爬蟲中的一些總結 1.要熟練掌握基礎知識,包括一些基礎的語法 2.正規表示式的正確使用,建議學習北理工的python爬蟲課程 3.先寫大框架再新增小的功能解析 4.對程式異常處理要熟練,盡量使用try.excep結構 5.對於列表字串資料的基本使用到位,比如增刪改查等 6.思路必須清晰 ...