網頁編碼格式是每個網頁規定的本頁面文字的編碼方式,其中比較流行的是ascii, gbk, utf-8, iso等。觀察許多網頁的編碼格式都是在meta標籤的content屬性中定義的。基於以上特點本文提供獲取編碼格式的方法。
**如下:
'''
注:本人使用的是idle python 3.7 64-bit,裝載bs4庫
'''from urllib.request import urlopen
from bs4 import beautifulsoup
import re
def getcharsetlist(url = none):
#開啟網頁,建立beautifulsoup物件
newurl = urlopen(url)
bsobj = beautifulsoup(newurl, "html.parser")
#首先查詢屬性中含有text/html的meta標籤以縮小查詢範圍
metataglist = bsobj.findall('meta', content = re.compile('text/html'))
#定義乙個儲存編碼格式的列表
charsetlist =
#之後從metataglist列表中的各項查詢其屬性內容(用get()函式)
for metatag in metataglist:
attribution = metatag.get('content')
chardata = str(attribution)
position = chardata.find('charset')
return charsetlist
Python爬蟲學習 獲取網頁
通過get請求獲取返回的網頁,其中加入了user agent資訊,不然會丟擲 http error 403 forbidden 異常,因為有些 為了防止這種沒有user agent資訊的訪問,會驗證請求資訊中的useragent 它的資訊包括硬體平台 系統軟體 應用軟體和使用者個人偏好 如果user...
python獲取網頁編碼格式
爬蟲獲取網頁內容要準確獲取網頁的編碼格式,有utf 8,gbk,gb2312等等。今天在爬新聞 時候,發現同乙個網頁會分不同的編碼,但是獲取html節點相關是根據第乙個編碼格式來的,拿人民網新聞頁原始碼舉例。當我使用python的 url r request.request url html req...
爬蟲 關於網頁編碼
當我們用爬蟲成功獲取網頁原始碼後,可能列印出來卻是亂碼的,因為使用requests模組時,程式會根據http頭自動判斷網頁編碼,但這樣做就顯得不太準確,所以還需要我們手動修改。手動修改網頁編碼顯得繁瑣且笨拙,我們引入乙個新的模組cchardet來幫助我們完成這一系列的工作。可以看到,requests...