Soup4でWebサイト解析PythonWebスクレイピングPythonでスレイピングを行います。Soup4を使ってWebサイトを解析します。Soupとは、HTMLの内容を解析するためのPythonライブラリです。前回は、RequestsでWebページのデータを取得しました。今回は、HTMLを解析して現在のページから記事に関する情報を抽出します。どちらでも構いませんが、CentOS7にPython3とvenvがインストールされているものとします。VPSに作った方法ですが、共通ですので以下をご参考に。Soup4)をインストールします。Soup4)ホスト環境ホスト環境はUbuntuですが、WindowsでもMacでもOKです。Soup4でサイトを取得1venvの仮想環境から、そのままコマンドでpythonの対話モードを起動します。python2以下のコードを記述して実行します。RequestsオブジェクトのcontextにHTMLが入ります。そのデータを元にBeautifulSoupオブジェクトを生成します。'html.parser')titleタグの情報を取得します。soup.titleオブジェクトの型を確認します。'bs4.element.Tag'>タイトルタグを表示します。Hornet|静岡拠点のWeb、ホームページ制作</title>タイトルタグの内容を表示。Hornet|静岡拠点のWeb、ホームページ制作サイトの一件分のデータを取得soupオブジェクトのfind()は、任意のタグの情報を取得します。id、classなどhtmlの属性とタグ情報を取得します。class_='div_index')class属性の場合だけPythonの予約語のclassとかぶります。classを指定する場合は「class_」と指定します。div.find(‘li’)でdivタグの中の最初のliタグを取します。div.find('li')aタグの中の文字列を表示します。文字列の中のsplit()で日付とタイトルに分割して、それを表示します。'Soup4でWebサイト解析']サイトの全データを取得soupオブジェクトには、「find_all()」というメソッドがあります。これは、指定した条件に合致するすべてのタグを取得します。以下の例では、すべてのliタグを取得します。取得したデータをCSV形式で出力します。