python3中編碼獲取網頁的例項方法
阿新 • • 發佈:2020-11-17
學了python後,之前一些我們常用的方法,也可以換一種思路用python中的知識來解決。相信操作出來後,能收穫一大批小粉絲們。就像我們沒學習程式設計之前,看到那種大神都是可望而不可即。今天我們就之前簡單獲取網頁的這種操作用python中的編碼來解決,大家可以自行體會一下兩者的不同。
1.encoding和apparent_encoding
import scrapy url="https://www.xxx.net/html/gndy/dyzz/index.html" 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. requests的text() 跟 content() 有什麼區別
re.text返回的是處理過的Unicode型的資料,
而使用re.content返回的是bytes型的原始資料。
4. 爬蟲拿到的HTML和瀏覽器中的原始碼不相同時
通過下載原始碼對比
import requests url = 'https://www.xxx.net/html/gndy/dyzz/index.html' 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中編碼如何獲取網頁內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!