python3中編碼如何獲取網頁?

yifanwu發表於2021-09-11

學了python後,之前一些我們常用的方法,也可以換一種思路用python中的知識來解決。相信操作出來後,能收穫一大批小粉絲們。就像我們沒學習程式設計之前,看到那種大神都是可望而不可即。今天我們就之前簡單獲取網頁的這種操作用python中的編碼來解決,大家可以自行體會一下兩者的不同。


1. encoding和apparent_encoding

import scrapy
url=""
re=requests.get(url)
#獲取響應頭Content-Type的charset值,有的網站沒有charset欄位,就可能使用預設的 ISO-8859-1
print(re.encoding)
#apparent_encoding就是獲取網站真實的編碼
print(re.apparent_encoding)


2. 處理方案

直接用r.encoding = ‘xxx’

re.encoding='utf-8'


3. requeststext() content() 有什麼區別

re.text返回的是處理過的Unicode型的資料,

而使用re.content返回的是bytes型的原始資料。

 

4. 爬蟲拿到的HTML和瀏覽器中的原始碼不相同時

透過下載原始碼對比

import requests
url = ''
r  = requests.get(url)
r.encoding = r.apparent_encoding
html = r.text
with open('test.html','w',encoding='utf8') as f:
f.write(html)

 python3中編碼如何獲取網頁?

 

以上就是python3編碼獲取網頁的一些操作方法,小夥伴們學會沒?當然獲取網頁的方法比較多,這裡就不一一介紹,有機會的話小編會在後續的文章中更新一下。學習了python之後,程式設計應用於生活會越來越多,幫助我們簡化生活的繁瑣事情。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2157/viewspace-2832243/,如需轉載,請註明出處,否則將追究法律責任。

相關文章