私はudacityコースに従って、Pythonでクローラを作成しようとしています。私はこのメソッドを持っていますget_page()
ページの内容を返します。UnicodeDecodeError: 'utf-8'コーデックは、位置1のバイト0x8bをデコードできません:無効な開始バイト
def get_page(url):
'''
Open the given url and return the content of the page.
'''
data = urlopen(url)
html = data.read()
return html.decode('utf8')
は、元のメソッドは、単にdata.read()
を返していましたが、その方法は、私がstr.find()
のような操作を行うことができませんでした。クイック検索の後、私はデータをデコードする必要があることを知りました。しかし、今私はこのエラーが発生します
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
私はSOで同様の質問を見つけましたが、特にこれのためのものはありませんでした。助けてください。
「url」値は何か教えてください。 – falsetru
これはどんなURLでもかまいません。この場合はgoogle.co.in –
でした。ヘッダーによると、ページは 'utf-8'ではなく' ISO-8859-1'でエンコードされています。 – falsetru