リオラボ
icon

⑧Pythonでスクレイピングしたデータを整形する方法

このブログではPythonを使ったスクレイピングを、初心者向けにサンプルコード付きで解説しています。以下に紹介する記事では、①から⑨のステップでスクレイピングの方法を学び、実践に役立てられるよう体系的にまとめています。

【①〜⑨まとめ】PythonでWebスクレイピングを実践する方法【サンプルコード付き】

【①〜⑨まとめ】PythonでWebスクレイピングを実践する方法【サンプルコード付き】

Posted on 9月 29, 2024 | Category: Python

このブログではPythonスクレイピングを初心者向けに解説していきます。順番に各記事で解説しており入門者向けです。サンプルコード付きで解説するので実践的…


この記事ではPythonでスクレイピングしたデータを整形する方法について解説しています。

スクレイピングしたデータはそのままでは利用しにくい場合があります。特定の文字列を削除・追加したり、辞書形式などにすることでデータを扱いやすくする方法を説明していきます。

特定の文字列を置換、削除する方法

以下で取得している.post-title要素は、「これは1の記事です」、「これは2の記事です」のようになっています。

.replaceを使うことで特定の文字列を置換、また削除することができます。ここでは.replace(‘これは’, ‘’)によって、「これは」部分を削除しています。
.replace(‘これは’, ‘あれは’)のようにすることで文字を置換することもできます。

また.replace(‘これは’, ”).replace(‘です’, ‘’)のように複数の文字列を置換、削除することも可能です。

 

ファイル名を安全な文字列に置換する

このコードは、ファイル名に適さない文字列を一括で削除したい場合などに利用します。

先程と同じく.replaceを使った文字列の置換です。ただし関数化しており複数の文字列を一度に処理することができます。

詳しくは以下の記事で解説しています。

⑦ Pythonでファイル名に適さない文字を一括削除・置換する方法を解説【サンプルコード】

⑦ Pythonでファイル名に適さない文字を一括削除・置換する方法を解説【サンプルコード】

Posted on 9月 29, 2024 | Category: Python

このブログではPythonを使ったスクレイピングを、初心者向けにサンプルコード付きで解説しています。以下に紹介する記事では、①から⑨のステップでスクレイピ…


 

文字を追加する方法

今度は逆に文字を追加する方法を見てみましょう。

title_text = f’見出し:{title_text}’のようにf-stringを使って文字列に「見出し:」箇所を追加しています。プリント時にも同じことはできますが、変数として保存したい場合にはこのようにします。

 

取得したテキストを翻訳する

外国語のデータを取得した場合、後から手作業で翻訳するのは面倒です。翻訳APIを使って簡単に処理してしまいます。

上記の関数を使うことで簡単に翻訳することができます。

ただし上記は非公式のライブラリなのでGoogle Cloud Translation APIなどを利用したほうがいいと思います。

詳しくは以下の記事を参照ください。

⑤Pythonでスクレイピングしたテキストを翻訳する方法

⑤Pythonでスクレイピングしたテキストを翻訳する方法

Posted on 9月 29, 2024 | Category: Python

このブログではPythonを使ったスクレイピングを、初心者向けにサンプルコード付きで解説しています。以下に紹介する記事では、①から⑨のステップでスクレイピ…


 

URLが相対パスの場合、絶対パス(フルURL)に変換

Pythonのurljoinを使って相対パスを絶対パスに変換することができます。

urljoinは、相対パスを基準URL(base_url)に基づいて絶対パスに変換します。
例えばimg src要素を取得してダウンロードする時、取得したデータが相対パスであれば上記のように処理をします。

 

取得したデータを辞書形式で保存する方法、取り出す方法

複数の要素をループして取得する場合、そのデータを辞書形式で保存すると便利です。

例えば記事一覧データを取得するとします。ページには複数の記事があり、各記事からタイトル、画像urlをまとめて取得していきます。

ここではlinksリストを作成し、またリストにIDを付けるためのカウンター(count)も使います。

<a> タグ要素には記事タイトルとhrefがあるので取得します。それらを辞書形式にまとめます。
辞書にはカウンターを使ってidを付与し、対応する記事タイトルとURLを格納していきます。

 

上記のように、idと共に対応する記事タイトルとurlが辞書形式で格納されています。
辞書形式にすることでこの後データを利用する際や、書き出しする際に便利に使うことができます。

 

このように、辞書に格納したデータを取り出して使うことができます。

 

このようにインデックスを指定して、特定の要素だけを取得できます。

 

また、特定の文字列に一致するデータを取り出すこともできます。

 

辞書形式で保存したURL(url_list)を利用して、各URLの遷移先の情報をまとめて取得することも可能です。

辞書形式のリストをMySQLデータベースにインポートする方法は以下の記事で解説しています。

PythonスクレイピングしたデータをMySQLデータベースにインポートする方法を解説

PythonスクレイピングしたデータをMySQLデータベースにインポートする方法を解説

Posted on 10月 1, 2024 | Category: Python

この記事ではPythonでスクレイピングしたデータをMySQLデータベースにインポートする方法を解説しています。 Pythonウェブスクレイピングの基本についてはこ…

まとめ

Pythonでスクレイピングしたデータを整形する方法について解説しました。.replaceは簡単にデータの置換、削除ができて便利です。
必要に応じて関数を作り一括処理できるようにすると簡潔なコードが完成します。

整形が完了したデータの書き出し方法については以下の記事で解説しています。

⑨PythonでスクレイピングしたデータをCSVファイルに書き出す方法を解説

⑨PythonでスクレイピングしたデータをCSVファイルに書き出す方法を解説

Posted on 9月 29, 2024 | Category: Python

このブログではPythonを使ったスクレイピングを、初心者向けにサンプルコード付きで解説しています。以下に紹介する記事では、①から⑨のステップでスクレイピ…