MENU
  • ホーム
  • プログラミング
  • ワードプレス
    • プラグインプラグイン関連記事
    • 賢威賢威のカスタマイズ
    • CSSCSSの関連記事
  • サイト情報
    • プライバシーポリシー
  • ツール
    • メルエディター
    • フリマスパイダー – 疾風
    • フリマスパイダー
    • -ポイ活くんα-
  • お問い合わせ
あらゆるモノにHackする、探究者の読み物。
Let's Hack Tech
  • ホーム
  • プログラミング
  • ワードプレス
    • プラグインプラグイン関連記事
    • 賢威賢威のカスタマイズ
    • CSSCSSの関連記事
  • サイト情報
    • プライバシーポリシー
  • ツール
    • メルエディター
    • フリマスパイダー – 疾風
    • フリマスパイダー
    • -ポイ活くんα-
  • お問い合わせ
Let's Hack Tech
  • ホーム
  • プログラミング
  • ワードプレス
    • プラグインプラグイン関連記事
    • 賢威賢威のカスタマイズ
    • CSSCSSの関連記事
  • サイト情報
    • プライバシーポリシー
  • ツール
    • メルエディター
    • フリマスパイダー – 疾風
    • フリマスパイダー
    • -ポイ活くんα-
  • お問い合わせ
  1. ホーム
  2. プログラミング
  3. 言語別
  4. Python
  5. BeautifulSoupの文字化けが止まらない時の解消方法 – Python

BeautifulSoupの文字化けが止まらない時の解消方法 – Python

2023 2/02
Python
2019-03-26 2023-02-02
目次

BeautifulSoupの文字化け

プログラムにおいて、日本語というのはすごくめんどくさいです。

日本に生まれたことを後悔するレベルでメンドクサイ。

今回はrequestsを使ったスクレイピングにおける、BeautifulSoupの文字化けの解消法です。

res.textをやめる

大体BeautifulSoupにテキストを渡すときはこんな感じだと思います。

import requests
from bs4 import BeautifulSoup as bs4

res = requests.get('https://www.yahoo.co.jp')
soup = bs4(res.text,'lxml')

このパターンだと文字化けするサイトが割とあります。

res.contentを渡す癖をつける

import requests
from bs4 import BeautifulSoup as bs4

res = requests.get('https://www.yahoo.co.jp')
soup = bs4(res.content,'lxml')

requestsのレスポンスオブジェクトのtextというのはunicode文字列を取得できますが、contentではbytes文字列を取得できます。

これでだけで95%の文字化けは解消されます。

BeautifulSoupのDOM取得メソッドまとめた記事は以下です。

あわせて読みたい
【Python】BeautifulSoupの使い方・基本メソッド一覧|スクレイピング 目的のHTMLタグや、テキストの抜き出しに使うPythonのライブラリBeautifulSoupについて詳しく解説

文字コードを指定する

それでも治らない場合は文字コード指定。

soup = bs4(res.content,'lxml',from_encoding='utf-8')
Python
BeautifulSoup Python スクレイピング 文字化け
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

シンプル美と機能性を両立させた、国内最高峰のWordPressテーマ『SWELL』
人気記事
  • IQテストいくつか受けてみました
    ネット上で信憑性がありそうなIQテスト、5種類まとめて受けた結果…
  • hayate
    メルカリの商品を世界最速で購入するためだけのアラートツール
  • 【Python】BeautifulSoupの使い方・基本メソッド一覧|スクレイピング
  • Pythonファイルのexe化
    【悲報】PyInstallerさん、300MBのexeファイルを吐き出すようになる
  • Amazon Echo アレクサのコマンドまとめ
    AmazonEchoの使い方とできる事、アレクサへの指示コマンド一覧
最近の投稿
  • PyQt5 QListWidget の item削除でtextBoxのフォーカスが奪われる2023-03-05
  • WordPressからのメールが届かない時の調査と解決法2023-02-27
  • 保護中: メルカリアラートツール「疾風」v22022-12-01
  • 保護中: メルカリアラートツール【疾風】カスタマイズオプション一覧2021-03-22
  • 保護中: メルカリアラートツール【疾風】インストール手順2021-03-22
目次
目次