【AlteryxTips】AlteryxでWebスクレピングをしてみました

【AlteryxTips】AlteryxでWebスクレピングをしてみました

こんにちはMJです。

今日はAlteryxでWebスクレピングをする方法についてご紹介します。

 

Webスクレイピングとは

Webスクレイピングとは、データを抽出したい対象が明確であり、特定のWebサイトを追跡してデータを保存する技術です。

通常、PythonのBeautifulSoupライブラリを使用してデータを抽出しますが、今回はAlteryxのダウンロードツール正規表現ツールを利用してデータを抽出してみます。

 

1. スクレイピングするページの指定

データを抽出するページとして、総務省統計局のe-Statを選定しました。
このサイトは、日本のさまざまな公共データや統計情報を一元的に提供し、政府機関、地方自治体、研究機関などが収集したデータを一般の人々も簡単にアクセス・活用できるようになっています。

特に、ほぼ毎日データが更新されるため、Alteryxのツールを活用して自動化し、新規追加データを確認することで、参考になると考えました。新着情報一覧ページ

それでは、「新着情報一覧」テーブルの「新規フラグ」「更新日」「組織」「内容」「URL」を抽出してみます。

 

2. HTML構造の分析

まず、Webスクレイピングで最も時間がかかる部分として、抽出したいデータを取得するために「新着情報一覧」テーブルのHTML構造を分析する必要があります。

Webページ上で、右クリック → 検証Ctrl+Shift+C を押して、抽出対象のHTMLコードを確認します。

HTMLコードを確認した結果、<ul> タグの中に <li> タグで各行のデータが格納されており、 <li> タグの中の <span> タグごとに情報が保存されていることを確認しました。

3. AlteryxでWebページのHTMLコードを取得

それでは、ダウンロードツールを使用して、「新着情報一覧」ページの情報を抽出してみます。

まず、テキスト入力ツール を利用して、ページのURLを入力します。
次に、ダウンロードツール でURLを指定し、出力形式を「文字列」に設定します。

このワークフローを実行し、データを正常に取得できた場合、DownloadHeaders フィールドに 200 の値が入り、DownloadData フィールドに HTMLコード が保存されていることが確認できます。

この後、使用するデータは DownloadData フィールドの値なので、セレクトツール を使用して他のフィールドを削除します。

4. 正規表現ツールを用いたデータ抽出

ダウンロードツールで取得したHTMLコードから、正規表現ツールを使って必要なデータを抽出する作業を繰り返します。

まず、<ul> タグの中に <li> タグが各行のデータとして格納されているため、<ul> タグ内のデータを抽出する正規表現 を作成します。

次に、<li> タグ内の情報を1行ごとに分割するために、正規表現ツールで出力方法で「トークン化の行に分割」を実行します。

その後、レコードIDツール を使用して各行にIDを付与し、 <span> タグ内の [新規フラグ、更新日、組織、URL、内容] のデータを、それぞれの正規表現を使って抽出します。

抽出が完了したら、複数結合ツール を使用して、IDフィールドを基準にデータを結合します。

そうしますと、e-Statの「新着情報一覧」ページから、新たに追加・更新されたデータテーブルを抽出することができました。

まとめ

このように、ダウンロードツールと正規表現ツールを活用し、AlteryxでWebスクレイピングを実行してみました。

特定のWebサイトの構造を分析し、正規表現を使ってデータを抽出する工夫をすれば、簡単に自動化できると思います。

 

AlteryxDesigner初心者の方向け教育プログラム

京セラみらいエンビジョンでは、AlteryxDesignerをこれから利用していくお客様を対象に、初心者向けのトレーニングをご用意しております。

ハンズオン形式で実施致しており、使用し始めた方の上達をサポート致します。

トレーニング以外にもAlteryxを用いた環境構築、開発、ワークフロー作成を承りますので、お気軽にご相談ください。

おすすめの記事