(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。初心者向け&Windowsユーザー向けのPythonでWebページのスクレイピングをする方法をお伝えしております。前回の記事はコチラです。初心者かつWindowsユーザー向けにPythonでWebスクレイピングをする方法についてお伝えしています。Soupモジュールの使い方です。Soupモジュールを使って取得したWebページを解析する準備完了というところまでお伝えしています。本格的にHTMLの解析をしていく必要があります。解析...といってもどう進めていいものやら...というところもあるかも知れませんので、Chromeブラウザのデベロッパーツールを使いながら、その方法をお伝えしてきましょう。PythonでWebページの特定のタグをまとめて取得する方法です。前回のおさらいChromeのデベロッパーツールについて欲しい情報を構成するHTML要素を確認する欲しいHTML要素のouterHTMLをコピーする特定のタグの要素を取得するBeautifulSoupオブジェクトのselectメソッドページ内の特定の要素を全て表示するスクリプトまとめ連載目次:初心者向け!PythonでWebスクレイピングをしよう前回のおさらいまずは、前回のおさらいから。作ったスクリプトはコチラでした。"html.parser")print(soup.title)当ブログのトップページについてrequestsモジュールのget関数で取得してきてそのレスポンスが正常かどうかチェック(正常でない場合は例外をスロー)そのHTML文字列からBeautifulSoupオブジェクトを生成titleタグの最初の要素を抽出して表示と、こんなスクリプトです。簡単なHTML解析としてBeautifulSoupオブジェクト.タグ名とすることで、特定のタグ要素を取得できるのですが、取得できるのは最初に登場した一つの要素だけです。title要素など、おそらくWebページごとに1つであろうタグの要素なら良いのですが、一般的には同じタグが複数存在しているので、その場合は使えません。今回は、その点を解消していきます。Chromeのデベロッパーツールについてと、その前に、本来Webスクレイピングをする際には、欲しい情報がどんなタグに含まれているのかとか、どんな属性を持っているのかとか、つまりどんな条件で要素を取り出せば良いのかを知る必要があります。Chromeのデベロッパーツールを使わない手はありません。キーを押下すると、デベロッパツールが起動します。Webページ上に青い枠が出てくるようになります。この状態で欲しい情報があるエリアをクリックすると、右側にのHTMLコードがワーって書いてあるところも連動して、そのエリアを示す箇所にフォーカスが当たります。この機能を使えば、欲しいWebページの情報が、どんなHTMLで構成されているのかということがわかるのです。欲しいHTML要素のouterHTMLをコピーするそれで、当ブログのトップページで言うと、記事一覧になっているのですが、その記事タイトルがh2タグで構成されているということです。一つ例として記事タイトルのHTMLを取り出してみましょう。この場合も、デベロッパーツールが便利です。右側の欲しいHTML要素を選択した状態で、右クリック。outerHTML」とたどります。これで、outerHTMLつまり「タグも含めた外側のHTML文字列」がクリップボードにコピーされましたので、ペーストしてみましょう。title="Pythonで取得したWebページのHTMLを解析するはじめの一歩">Pythonで取得したWebページのHTMLを解析するはじめの一歩</a></h2>特定のタグの要素を取得するということで、今回のお題「ブログのトップページの記事一覧から記事タイトルを含むタグを取得したい」ということで進めていきますね。BeautifulSoupオブジェクトのselectメソッドPythonでその目的を達成するためには、BeautifulSoupオブジェクトのselectメソッドを使う方法があります。BeautifulSoupオブジェクト.select(セレクタ)セレクタで指定した条件にマッチした要素を全て取得し、Tagオブジェクトのリストとして取得するのです。Soupモジュールにおける、HTML要素を表現するオブジェクトです。セレクタというのは、CSSセレクタでのことで、いろいろな条件指定をすることができます。h2タグを取得したければBeautifulSoupオブジェクト.select(‘h2’)とします。他の使い方に関しては追ってお伝えしていきます。ページ内の特定の要素を全て表示するスクリプトでは、これを使用して、ブログのトップページからh2要素を全て表示してみましょう。スクリプトはコチラです。elems:print(elem)selectメソッドでは、Tagオブジェクトのリストが取得できますので、リストに対してfor文を回して全ての要素について表示をしています。出てきちゃいましたが、うまくいっているようです。まとめPythonでWebページ内の特定のタグ要素をまとめて取得する方法についてお伝えしました。半分以上Chromeのデベロッパーツールの話になってしまいましたが、スクレイピングをする上で有用ですので、ぜひ覚えておいていただければと思います。次回は、class属性を条件にして、より色々な情報を取得できるようにしていきたいと思います。初心者かつWindowsユーザー向けにPythonでWebスクレイピングをする方法お伝えしております。今回は、PythonでWebページから特定のクラスを持つ要素をまとめて取得する方法です。tonari-it.com2017.10.22どうぞお楽しみに!連載目次:初心者向け!PythonでWebスクレイピングをしようスクレイピングとはWebサイトから情報を集めてくること。Pythonは専用の書籍が出るくらいスクレイピングが得意です。本シリーズでは、PythonでWebスクレイピングをする方法をお伝えしていきます。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。CodeでPythonの環境を作る手順をお伝えしています。CodeのWelcome画面と画面構成についてです。2019.08.30Python【初心者向け】IDLEを使ってPythonプログラムを作成して実行する一連の流れ非エンジニア一般ビジネスマン向け、はじめてのPythonプログラミングについてお伝えしています。今回は、IDLEのテキストエディタでPythonプログラムを作成して実行する一連の流れをお伝えします。2017.08.13PythonPythonでチャットワークにメッセージを送る方法PythonからチャットワークのAPIを利用して、チャットワークにメッセージを送る方法を解説します。PythonのRequestsというモジュールを使用します。2017.09.15Python初心者でも簡単!Pythonでデータを加工してクリップボードにコピーをする方法Pythonでクリップボードを操作して便利ツールを作る方法を初心者向けにお伝えしております。Pythonでデータを加工してクリップボードにコピーするpyperclip.copyの使い方です。2017.08.28Python【保存版】Pythonリファレンス~キーワード別インデックスプログラミング言語Pythonのリファレンスページです。Pythonのステートメント・関数・メソッドなどについてキーワード別にリストアップ。皆さんが、Pythonを習得する際のお供ととしてご活用ください。非エンジニア&Windowsユーザー向けPythonでクリップボードを使った便利なツールを作るシリーズ。今回はPythonでcsvファイルにデータを書き込みをする基本の方法をお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。