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
を与える、私はエラー
0123もあり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'は動作しますが、実際にはエンコーディングを知るためにヘッダー情報を取得する必要があります。リンクされた重複した質問の答えの1つがそのことを説明しました。 –
ヘッダーは 'content.decode( 'gb2312'、errors = 'ignore')を意味します。つまり、私はあなたの正規表現が動作するとは思わない。 –