0
我想使用urllib3和美麗的湯來刮一些網站。 Python 3的編碼/解碼讓我失望。這是我的代碼Python編碼的字符串仍然是二進制格式
r = http.request('GET', 'https://www.************************.jsf')
if(r.status == 200):
page = r.data.decode('utf-8')
soup = BeautifulSoup(page)
print(soup.prettify())
#This prints - [Decode error - output not utf-8]
# [Decode error - output not utf-8]
print(soup.prettify().encode('utf-8'))
#This prints the data but with binary mark
# b'<!DOCTYPE html PUBLIC "-//W3C//D.......
#..........................................'
正如我打電話美麗的湯之前完成解碼r.data.decode('utf-8')
,爲什麼我需要再次進行編碼,爲什麼它仍然顯示B「」標誌,甚至將其轉換爲字符串後
「數據」屬性沒有記錄。爲什麼沒有'getresponse()'調用? – 2014-12-05 11:40:24
我正在閱讀readthedocs上的urllib3文檔。找不到任何對getresponse()的引用。此外,數據屬性幾乎是訪問那裏的響應內容的唯一方法..'https:// urllib3.readthedocs.org/en/latest/index.html'。也許我錯過了一些東西。 – 2014-12-05 11:58:03