關於BeautifulSoup中字元的編碼

2022-08-11 15:09:19 字數 650 閱讀 9102

在使用beautifulsoup解析html檔案的過程中,經常使用到類似如下的語句:

soup = beautifulsoup(html)

for string in soup.strings:

string = string.strip()

注意,上述**中,沒有對string的編碼進行任何的設定,所以string的預設編碼為ascii。

如果不注意,這種預設的編碼方式,會帶來很大的麻煩。

即便你使用:string = string.decode('ascii').encode('utf-8')

也不能轉換string的編碼。

所以最好的方式如下所示:

soup = beautifulsoup(html)

for string in soup.strings:

string = str(string)

string = string.strip()

經過str()函式轉換後,如果你系統中預設使用的是utf-8編碼,則string就變成了utf-8編碼。

經同學指點,發現在建立soup的時候,可以指定字元的編碼:

soup = beautifulsoup(html, from_encoding='utf-8')

關於BeautifulSoup庫查詢

每次都記不住該怎麼用 留存一下 如何抓取src 裡面的資料?前序格式 import requests from bs4 import beautifulsoup import re url r requests.get url,headers headers text r bs beautifuls...

爬蟲筆記 關於Beautiful Soup 4

再使用beautiful soup 4時遇到了一些問題,找到了解決方法,通過本博文將遇到的問題和解決方法記錄下來,方便回顧也希望能幫助大家解決類似問題。遇到這個錯誤的原因是 文件包含以完全不同的編碼編寫的文字 這時候需要待解析文字的指定編碼方式,通常可以在網頁原始碼中找到網頁的編碼方式,就像下圖 接...

BeautifulSoup常用方法

1.初始化 2.查詢指定標籤 eg 要找到符合的所有標籤 p.findall div 反覆利用標籤特徵可以找到最終需要的標籤 3.直接加標籤名可以找到所有子標籤 eg 找到所有標籤 p.td 4.直接以字典形式,可以訪問標籤內對應屬性的值 eg 要找到 中href 的值 www.csdn.net p...