【レポート】Webサイトのデータ取り込みを簡単に~Webスクレイピング入門 Alteryx Inspire 2019 #alteryx19

2019.06.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

DI部プリセールスエンジニアの兼本です。

日本ではAWS Summit Tokyo 2019が開幕し盛り上がっている最中ですが、ここ米国ナッシュビルでは、現地時間2019年06月10日~2019年06月14日にかけて、Alteryxの年次カンファレンスイベント「Inspire 2019」が開催されています。 今回クラスメソッドからは計6人のメンバーが現地参加していますので、AWS Summit Tokyoの盛り上がりに負けないようにエントリ投下していきたいと思います。

さて、当エントリではイベント1日目に行われたトレーニングセッション「WEBスクレイピング入門」についてご紹介いたします。

目次


セッション概要

当トレーニングセッションの概要は以下の通りです。

セッションタイトル: WEB SCRAPING セッション概要: Web scraping, the process of extracting raw data or information from web pages, is an extremely useful approach to gather web-hosted data that isn’t supplied via APIs. With the wealth of data available on the web to contextualize your analyses, have you ever thought to yourself, "If I could just combine all this data from the Internet into my Alteryx workflow, I COULD RULE THE WORLD!!!" ? Well then this course might be for you! (Plans for global domination not included). (Webスクレイピングは、Webページから生データや情報を抽出するプロセスであり、APIを介して提供されないWebでホストされたデータを収集するための非常に有用なアプローチです。あなたの分析をコンテキスト化するためにウェブ上で利用可能な豊富なデータを使用して、「インターネットからこのすべてのデータを私のAlteryxワークフローに結合することができれば、世界を支配することができる!」と考えたことがありませんか?もしそうなら、このコースはあなたのためかもしれません! (世界征服の計画は含まれていません)。登壇者: Jordan Barker(Manager, Sales Engineering, Northern Europe at Alteryx)

セッションレポート

ハンズオンセッションの主な内容をレポートします。

Webスクレイピングとは

WebスクレイピングはHTMLで作成されたWebサイトに公開さえている情報を抽出するソフトウェア技術を指します。

Webスクレイピング

つまり、従来であれば、人が定期的にWebサイトにアクセスして、ページ内で公開された情報やファイルなどを切り取ってほかのシステムに連携したり、プログラムから読み取りやすい形式に変換していた処理をソフトウェア技術で実現する手法です。 Web APIが提供されていれば、プログラムがAPIを呼び出すことで簡単にデータを取得することが可能ですが、APIが用意されていないWebサイトなどからデータを取得するときに有用な手法です。

Webスクレイピングの具体例

トレーニングではいくつかの実例を使ってWebスクレイピングを学びました。 最初の例では、MHS England(イギリスの国営医療サービス事業)が定期的にWebサイトに公開するExcelの資料をAlteryxでWebスクレイピングする手法をハンズオンで学びました。

Webスクレイピングを行う場合、ターゲットとなるWebサイトは仕様書が公開されていないことがほとんどだと思いますので、まずはWebサイトのHTMLソースを読み、ほしいデータがどこにあるのかを知る作業から始めます。

Google Chromeを利用している場合は、メニューから「その他のツール>デベロッパーツール」から開発者用ツールを起動することができ、HTMLソース内のタグや属性情報を簡単に追跡することができます。

Webスクレイピングに有用なツールの紹介

取り込む対象のオブジェクトが決まったら、ワークフローを作ります。

HTTP[S]プロトコル経由でデータを取得するには「ダウンロード」ツールを使います。 「ダウンロード」ツールで取り出したHTMLデータはHTMLタグの塊ですので、内容に応じて加工してあげる必要があります。 ハンズオンでは以下のツールを使用しました。

  • Text To Columns:未解析のHTMLデータを改行毎に分割します。
  • Filter:Contain()などの関数を使って、ターゲットのタグや属性を含む文字列を絞り込みます。
  • RegEX:正規表現を使って、文字列からパターンに一致するデータを取り出します。

Alteryx Community で公開されている、Formulaツールにコピー&ペーストして使える、HTMLタグを削除する式も紹介されましたよ。

これは結構役に立つので、ご存じない方は是非チェックしていただければと思います。

また、Alteryx Inspire内でのトレーニングらしく、Alteryxコミュニティリーダー(ACE)の紹介ページから41名のACEのプロフィール写真を抽出する実習もありました。 こちらはACEの紹介ページ。弊社じょんすみすも紹介されています。

このハンズオンの内容については別の機会にご紹介できればと思います。

まとめ

以上、Alteryx Inspire 2019 のトレーニングセッションからWebスクレイピング入門をご紹介いたしました。 Webスクレイピングに関しては、弊社でもより実践的な内容をご紹介しておりますので、あわせて以下の記事もご覧ください。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400