環境
Python: 3.5
Requests: 2.11.1
概要
Requestsを使って日本語ページを取得したときに表示すると文字化けが起こる。
今回、自分の場合はページ側のエンコードがShift-JISの場合に起こっていた。
import requests
response = requests.get('適当な日本語ページ')
print(response.encoding)
で調べると、ISO-8859-1が返ってきていた。
どうも、文字コードがうまく取れてない場合に適当にかえしてる??
解決
import requests
response = requests.get('適当な日本語ページ')
response.encoding = response.apparent_encoding # この行を追加
apparent_encodingを呼び出すと、どうやらライブラリ使って、ちゃんと文字コードを判定するらしい。
今回の場合は、これで文字化けしなくなった。
コメント
@Yukiya0250
@nittyan0
@Yukiya0250
@nittyan さん、こんにちは! 文字化けの対処方法がわからずTeratailで質問したときにこのページを紹介してもらってすごく助かりました!
ありがとうございました
https://teratail.com/questions/152505
@Yukiya025 お役に立てたのならよかったです。
けっこう昔の記事なんですが、ちょこちょこ「いいね」もらうんで、みんな困ってるんですかね・・・
nittyanさん

はい、困ってましたf^^; 文字化けしてたら取れるものも取れませんし
ちなみに完成したスクレイピングコードはこちらです
O'Reilly Japanの書籍カタログをCSVファイルに出力します
https://github.com/Yukiya025/CommerceScraper