ここから本文です

Python3でHTMLを取得しましたが、\x85のような文字があります。どのようにすればよ...

アバター

ID非公開さん

2017/5/201:07:29

Python3でHTMLを取得しましたが、\x85のような文字があります。どのようにすればよいでしょうか?

import requests
session = requests.Session()
response = session.get("https://www.yahoo.co.jp/", headers=headers, allow_redirects=False)

下記の中身に、\x83\x95\xe3のような文字列が多々あります。
・response.text
・response.content

どうすれば、日本語などにできますでしょうか?
回答よろしくお願いします。

閲覧数:
29
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

kar********さん

2017/5/203:36:02

自分で試したら、response.text は正常でしたが、response.content は bytes 型でそのまま print すると \x83 のようなものが表示されました。

bytes 型を str 型に変換すれば、正常に表示できます。
今回の yahoo のサイトは、response の header に utf-8 とか書いてありますのでそれで decode すればいいです。
まあ、だいたいのサイトは utf-8 です。

decoded = response.content.decode('utf-8')

アバター

質問した人からのコメント

2017/5/5 23:02:18

無事に出来ました。ありがとうございます。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる