Pythonのrequestsライブラリを使用してウェブページを取得する際、特に日本語のページを取得したときに文字化けが発生することがあります。これは、requestsがデフォルトで使用するエンコーディングがページのエンコーディングと一致しないためです。
具体的には、以下のようなコードでウェブページを取得した場合に文字化けが発生します。
import requests
url = "https://xxx/xxx.html"
response = requests.get(url)
print(response.text)
この問題を解決するためには、response.encoding
をresponse.apparent_encoding
に設定します。これにより、requestsは正しい文字コードを自動的に推測し選んでくれます。
以下に、文字化けを回避したコードを示します。
import requests
url = "https://xxx/xxx.html"
response = requests.get(url)
response.encoding = response.apparent_encoding
print(response.text)
このように、Pythonのrequestsライブラリを使用してウェブページを取得する際には、適切なエンコーディングを設定することで文字化けを回避できます。.