5logスマートフォン用の表示で見る5log日々の仕事の備忘録この広告は、90日以上更新していないブログに表示しています。BeautifulSoup今回はデザインから少し離れて、Pythonを使ったWebスクレイピングの記事を書こうと思います。スクレイピングしたHTMLを加工するまとめはじめに:Webスクレイピングとは?スクレイピングの概要についてはWikipediaの説明が非常に詳しいので、そちらを参照してください。Wikipedia噛み砕いて説明すると「Webサイトの情報(html)をプログラムで自動的に取得・加工する」ための技術と考えればよいと思います。Webサイトのクローラーが行なっている「クローリング」とも似ていますが、「クローリング」が情報を取得するだけなのに対し「スクレイピング」は取得したデータから必要なデータの抽出や加工などを行うことも含まれます。WikipediaBeautifulSoupとは?Pythonで使用できる有名なライブラリで、ドキュメント内のHTML構造を解析した上で、中の情報の取得や加工を行うことができます。公式ドキュメントは英語となり、有志が日本語訳をしたページも存在しますが、やや情報が古いので、色々な使い方や困ったことがあればググって解決するのが早いです。(2013-11-19最終更新)なお、今回の動作環境は、このブログで過去に書いたPython3のインストール手順に基づき、Windows10(または7)のPython3環境で動かすことを想定して記載していきます。(Macでも同じ手順で行けたはずですが、一応記載。)5log.hateblo.jp次の項目から、実際にBeautifulSoupをインストールして、Webサイトの情報取得までを行いたいと思います。BeautifulSoupをインストールまずはBeautifulSoupをインストールし、使える状態にする必要があります。前回のPythonインストール同様、コマンドプロンプトを開いたら、下記のコマンドを入力します。beautifulsoup4〜」と表示されればインストール完了です。BeautifulSoupを使って情報を取得するいよいよ実行です。適当なWebサイトから情報をスクレイピングする、でも良いのですがそうした情報は巷に溢れているので、今回はお手軽に、Pythonの変数に格納したHTMLをスクレイピングし、タグ情報の取得・加工を行いたいと思います。今すぐWebサイトからのスクレイピングをしたいんです!という方は、下記の記事に移動してください。5log.hateblo.jpでは、今回はこのようなコードを用意します。H1情報を出力print(title)これを記述したファイルを作成後、「.py」の拡張子をつけて適当な場所に保存した後、コマンドプロンプトから先程保存したPythonファイル実行すると、このように出るかと思います。<h1>フルーツの一覧</h1>これで、HTMLからh1情報を抽出することに成功しました。スクレイピングしたHTMLを加工する冒頭でもお伝えしたように、BeautifulSoupでは取得した情報の加工まで行うことができます。試しに今回は、先程取得したH1タグを「H2要素に変更し、新しいclass属性の付与」を行いたいと思います。先程のコードを下記のように書き直しました。H1情報を出力print(title)この後、先程同様にコマンドプロンプトから実行すると、実行結果は下記のようになります。class="fruit">フルーツの一覧</h2>このように、タグの変更とclassの付与が完了しました。ちなみに、解析・加工後のHTMLは上記のコードだと「soup」の中に格納されているので、もしprint(soup)と出力した際は下記のように加工後のHTMLが出力されます。class="fruit">フルーツの一覧</h2><ul><li>りんご</li><li>みかん</li><li>バナナ</li></ul>これで加工まで完了です。簡単ですね!もし、BeautifulSoupで他にどのようなことができるか気になる方は、下記のブログが良い感じに情報がまとまっているので、ぜひ読んでみてください。szarny.hatenablog.comまとめPythonとBeautifulSoupを使ったスクレイピングはこのように簡単に出来てしまいます。立て込んでいた仕事がようやく一段落して、久しぶりの平和な休...2019-02-02「LINEで送る」リンクが正常に動作しない不具合と、その修正方法あなたのWebサイトには、数年前に設置した「LINEで送る」のボタ...2019-01-03BeautifulSoupでスクレイピングしたHTMLをCSVに出力するPythonによるWebスクレイピングネタ第三弾。XDのデザインスペック機能を使ってみるあけましておめでとうございました。1日目のセッション振り返り(新技術系情報を中心に)既存サイトをAMP対応する場合の工数・スキルセットについて考えてみた論文を書くときに使いたい3つの有名な文章作成テクニックPython3+Seleniumでブラウザを操作するための備忘録はてなブログをはじめよう!K3105さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。