0
我做一個小project.and我想開一家url.i試圖用這種的UnicodeDecodeError:「UTF-8」編解碼器不能在第251位解碼字節0xB5執行:無效的起始字節
url = 'http://www.ygdy8.net/html/gndy/dyzz/index.html'
content = urllib.request.urlopen(url).read()
pat = re.compile('<div class="title_all"><h1><front color=#008800>.*?</a>> </front></h1></div>'+ '(.*?)<td height="25" align="center" bgcolor="#F4FAE2"> ',re.S)
txt = ''.join(pat.findall(content))
但是這給我的錯誤
TypeError: can't use a string pattern on a bytes-like object
然後我試圖與
txt = ''.join(pat.findall(content.decode()))
但也錯誤
txt = ''.join(pat.findall(content.decode()))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 251: invalid start byte
我尋找答案,但我不知道如何解決它。
你試過'content.decode(「latin-1」)嗎? –
我刪除了我的答案。 'latin-1'的作品,但你真的必須得到頭信息知道編碼。鏈接重複問題的答案之一解釋說。 –
標題暗示'content.decode('gb2312',errors ='ignore')'應該可以工作。這就是說,我不認爲你的正則表達式會起作用。 –