1. 程式人生 > >python3 使用urllib.request模組,關於bytes和string的那些事

python3 使用urllib.request模組,關於bytes和string的那些事

python 3.4.2 使用urllib.request模組獲取網頁內容,雖說知道要注意編解碼的問題,但有些細節還是不清楚,終於碰到了TypeError的錯誤:

TypeError:can't use a string pattern on a bytes-like object

知道是位元組和字元使用錯誤,但是問題在哪兒呢?只好敲程式碼問問了。

import urllib.request

url = 'http://www.baidu.com'
req = urllib.request.Request(url)
response = req.urlopen(req)
page = response
.read() the_page = page.decode("UTF-8") b_page = the_page.encode("UTF-8")

page 的型別是: bytes
the_page 的型別是: string
b_page 的型別是: bytes
知道了這些細節,修改程式碼bug就很簡單了。