GoogleスプレッドシートでWebからデータを取得する
Webサイトからデータを抜き出し、xls、csv、txt、xmlなどに変換するには、コピペが一番使われますよね。でも、データの量が多いなら、相当な労力を費やします。もしPythonなどのプログラミング技術があれば、Webスクレイピングでコピペを自動化でき、その仕事が楽になります。プログラミングの知識がないなら、コピペしかありませんか?そこで、Googleスプレッドシートを試してみてください。
Googleスプレッドシートはリリース以来、多くの人々の日常業務に使われていますが、多くの組み込み関数があることを知らないかもしれません。実は、スプレッドシートを利用して、コードを書く必要なしに、Webから自動的にデータを取得できます。
この記事では、まずGoogleスプレッドシートだけで簡易なスクレイピングができる方法をお伝えします。次に、スクレイピングツールOctoparseを使って、データ取得のプロセスを比較します。皆さんは、スクレイピングニーズに適した方法を選択することができます。
GoogleスプレッドシートでIMPORTXML関数を使って簡単なWebクローラーを構築する
ステップ2:ChromeブラウザでターゲットWebサイトsteamspy.comを開きます。ページを右クリックして「検証」を選択し、コンビネーションキー「Ctrl + Shift + C」を押して「セレクタ」を有効にします。そうすると、必要な箇所にカーソルを置くと、対応する情報が「検証パネル」に表示されます。
コンビネーションキー「Ctrl + Shift + C」
ステップ3:URLをスプレッドシートにコピペします。ここではA2に指定します。
IMPORTXMLという非常に便利な関数を使って、価格データを取得します。
まず、要素のXpathをコピーする必要があります。
価格の箇所を選択 → Copy → Copy XPath をクリック。
//*[@id="trendinggames"]/tbody/tr[1]/td[4]
XPathを取得しました。
次、シートに下の関数式を入力します。
=IMPORTXML(URL, XPathクエリ)
そして、URLとXPathクエリを指定します。ダブルクオートがスプレッドシートの引数とぶつかってしまうため、そこだけシングルクオートに変更してください。
=IMPORTXML(A2,"//*[@id=’trendinggames’]/tbody/tr[1]/td[4]")
これで無事、"$19.99" という文字列が取得できました。
テーブルの取得方法もあります。
= IMPORTHTML(URL, クエリ, 指数)
この式を使うと、テーブル全体を簡単に抽出できます。
さて、スクレイピングツールOctoparse を使って、同じ作業をどのように達成できるかを見てみましょう。
ステップ1:Octoparseでスクレイピングするサイトを開く
Octoparseには、ウィザード形式で手軽に行える「Wizard mode」と、自由度高い「Advanced mode」がありますが、今回は「Advanced mode」を利用してみます。URLを入力し、下部にある「Save URL」をクリックします。ちなみに、インターフェイスの右上にある「ワークフロー」ボタンを開くと、タスクの実行順番を確認できます。
ステップ2: ページ遷移のループを作る
ページのある「Next」ボタンをクリックし、「Action Tips」パネルから「Loop click next page」を選択します。
ステップ3:Webクローラーを定義する
すべての情報を読み込んだ後、「Loop Item」を作します。
まず、第一行のデータをクリックします。各行を全体として取得するには「Action Tips」パネルに「TR」をクリックしてください。
そうすると、第一行全体が指定されました。
アイテムが1行しか選択されません。ですから、25行になるまで次のアイテムを同じように指定します。
「Loop click each element」をクリックした後、「Loop Item」ができました。
でも、クリックするのではなく、各行のデータをスクレイピングしたいので、「Click Item」を右クリックして「Delete」を選択します。
それから、ワークフローで、「Extract data」のアイコンを「Loop Item」に引きずって、「Loop Item」の中に置きます。
ステップ4:抽出したいデータを選択する
必要なデータをクリックし、「Action Tips」にある「Extract text of the selected element」を選択します。
必要に応じて、フィールド名を編集します。
ステップ5:クローラーを行い、データを抽出する
「Save」をクリックして、クローラーの設定を保存します。それから、「Start Extraction」をクリック、クローラーを行い、以下のようにデータを取得しました!CSV、Excelなどの形式で出力できます。
いかがでしたか?簡単にデータを取得できますね!皆さんもお試してみてください。
5分で分かる!ビッグデータ、機械学習、データマイニングの意味
近年のWeb、スマホ、アプリなどの発展により、以前とは比較にならないほど膨大な量の情報があふれています。このようなビッグデータを扱う需要が増えてきており、そのデータ分析を行う分野であるデータサイエンスに注目が集まっています。
そんな中、上司から唐突に「データマイニングを使って、このデータから業務改善に役立つような案を出してくれ」と言われ、困ったことはありませんか?データマイニングと似た言葉に、機械学習があります。よく耳にするこの「データマイニング」や「機械学習」とは、そもそもどのようなものなのでしょうか?
今回は、これらの言葉について、わかりやすく解説していきます。
ビッグデータとは、インターネット上に溢れている大量のデータを意味する用語です。しかし、多くの場合、ビッグデータとは単に量が多いだけでなく、様々な種類・形式が含まれる非構造化データ・非定型的データであり、さらに、日々膨大に生成・記録される時系列性・リアルタイム性のあるようなものを指すことが多いです。データ量が膨大である場合、このデータはどの単一のコンピューターでも処理できないことは明らかです。たとえ10GBほどの大きなファイルを、すべてのWindowsシステムでクラッシュする前に開くことはできません。そのために、ビッグデータが開発されています。大きなファイルを小さく分割し、多数のコンピューターで処理できる特別なソフトウェアと考えることもできます。このようなデータを分割してコーミングするプロセスは、MapReduceと呼ばれています。このプロセスで最も一般的に使用されるフレームワークはHadoopです。 Hadoopは基本的な問題を解決し、Pig、Zookeeper、Hiveなどのツールとともに使用して、プロセスをさらに簡単にします。
機械学習とは、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことです。さき、データの処理方法にに言及しました。例えば、このデータには、購入した商品の合計数、各購入者が購入した商品数など、購入者の購入行動のが含まれていると仮定します。これは今までの単純な統計分析です。しかし、さまざまなタイプの顧客の間における相関関係を分析する場合、特定のタイプの顧客の好みを推定する場合、または顧客の性別や年齢を予測する場合でも、より多くの複雑なモデルが必要です。それはアルゴリズムと呼ばれています。ロジスティック回帰、決定木、協調フィルタリングなど、データマイニングの目的で開発されたさまざまな種類のアルゴリズムを機械学習として理解することができます。
「データマイニング」とは、大量のデータについて統計学や人工知能などを駆使して、データ間の相関関係や隠れたパターンなどを見出すための手法です。機械学習アルゴリズムを適用することで、既存のデータを利用して未知数を予測することができます。これが、データマイニングが機械学習と深い関係がある理由です。それにもかかわらず、あらゆる機械学習アルゴリズムの強みは、大量のデータの供給に大きく依存します。アルゴリズムがどれほど洗練されているかに関係なく、数行のデータからインスピレーションを予測することはできません。ですから、データマイニングを行うために、まずは実際にデータを収集することが必要です。一般的には、元となるデータが多ければ多いほど、有益な情報をマイニングできる可能性が高まります。
まとめると、ビッグデータ技術は機械学習の前提、機械学習を使用することで、既存のデータセットから貴重な情報を得ることはデータマイニングです。
要するに、それらの技術は予測の能力を私たちに与えます。
1.私たちの生活はデジタル化された
今、私たちの毎日している多くのことが記録されます。すべてのクレジットカードの取引はデジタル化され、追跡可能です。私たちの公衆活動は、街の隅々まで監視されています。企業にとって、財務データや営業データの大部分は各種類のERPに保存されています。ウェアラブルデバイスの登場により、心拍や息がデジタル化され、使用可能なデータに保存されています。生活の多くがデジタル化されているように、コンピュータはこの世界をよりよく理解できるようになりました。
2.パターンが変わらないなら、過去=未来
世の中にある物事は異なるパターンを示しています。例えば、仕事日には会社と家の往復する可能性が高く、休日に旅するか映画を見るか、このパターンがあまり変わりません。店舗の1日に、ピーク時間帯と暇時間帯があるというパターンはあまり変わりません。企業は年間数ヶ月のうちにより高い労働投入を要求するパターンはあまり変わりません。
ポイント1とポイント2をまとめると、過去のパターンが提供されている場合、コンピュータが未来を予測するのが非常に可能であると結論付けることができます。これらのパターンは長期間にわたって一貫している可能性が高いためです。
コンピュータが人々のライフスタイルを予測できるなら、プロモーションの展開がしやすい時期を正確にわかります。例えば、ある人は毎週の金曜日に洗車サービスを受ける場合、洗車キャンペーンを実施するか、ある人は毎年の3月に旅行に行く傾向がある場合、ホテルの宿泊にクーポンを配布するかなどのことを行います。ビジネス的には、コンピュータは店舗の1日中の売上を予測して、総収益を最大化するビジネス戦略を構築することができます。企業の場合、コンピュータは労働力を最も合理的に配置して、最高の運用計画を立てることもできます。
未来が予測可能になるとすぐに、私たちは早めに計画を立て、しっかり準備をすることができます。「マトリックス」のネオと同じように、弾丸がどこから来ているかを見られるので、弾丸を止めれます。「確率論に高度な把握、人間心理学に徹底的な理解、特定の個体に既知の傾向は、変数の数をかなり減らすことができる」とシャーロック・ホームズがそう言いました。言い換えれば、「ビッグデータは、未来を予測する力を私たちに与える」ということです。これはデータマイニングの力で、データマイニングはビッグデータと結びついています。ビッグデータは膨大なデータセットを可能し、すべての予測に基盤を提供しているからです。
Webスクレイピングで第10回AKB48世界選抜総選挙のデータを取得
毎年6月になるとAKB48の総選挙で盛り上がりを見せています。2018年もやってきました。6月16日、「第10回AKB48世界選抜総選挙」(別名:AKB48 53rdシングル 世界選抜総選挙 ~世界のセンターは誰だ?~)の開票イベントが、愛知・ナゴヤドームにて開催されました。総投票数は3836652票だそうで、松井珠理奈さんが194453票で1位の座を獲得しました。
今年は100位まで発表され、みんなそれぞれの情報を了解したいので、この度Octoparse というスクレイピングツールを使って、メンバーのデータを一気に取得しています。(Octoparseをダウンロード)
Octoparseでは、様々なデータ抽出方法があるのですが、今回は「リスト状となっているコンテンツからデータを抽出する」と「リストから詳細ページへ行ってデータを抽出する」の2種類の方法を全部使って紹介したいと思います。
さて、始めましょう!
ステップ1:Octoparseでスクレイピングするサイトを開く
Octoparseには、ウィザード形式で手軽に行える「Wizard mode」と、自由度高い「Advanced mode」がありますが、今回は「Advanced mode」を利用してみます。
サイト:https://www.akb48.co.jp/sousenkyo53rd を入力し、下部にある「Save URL」をクリックして、最初のステップを完了しました!
ちなみに、インターフェイスの右上にある「ワークフロー」ボタンを開くと、タスクの実行順番を確認できます。
次のようになります。
ステップ2:Webクローラーを定義する
すべての情報を読み込んだ後、スクレイピングするデータを指定します。
1.まず、各アイテムを全体として、クリックします。「Action Tips」パネルには選択結果を提示します。
アイテムが16しか選択されません。ですから、100件になるまで選択されていないアイテムをクリックします。
2.「Loop click each element」をクリックした後、詳細ページに入ります。そうすると、スクレイピングするデータを指定します。
データを取得しました。データフィールドの下にあるツールはデータを再フォーマットできます。
3.タスクを正しく行うために、「Loop Item」の「Variable List」を修正する必要があります。以下のXpathを入力します。
//DIV[@class="quickAnnouncementList"]/UL/LI/A
4.詳細ページには得票数がないから、アイテムページで取得しかありません。ワークフローでは、「Extract data」のアイコンを「Loop Item」に引きずって、「Click Item」の上に置きます。
それから、アイテムから得票数をクリックして、「Extract text of the selectedelement」を選択します。
ステップ3:クローラーを行い、データを抽出する
「Save」をクリックして、クローラーの設定を保存します。それから、「Start Extraction」をクリック、クローラーを行い、以下のようにデータを取得しました!CSV、Excelなどの形式で出力できます。
いかがでしたか?簡単にデータを取得できますね!皆さんもお試してみてください。
WebサイトをスクレイピングするWebクローラー20選
今では、Webクローリング(Webスクレイピング とも呼ばれる)は多くの分野で広く適用されています。これは、任意のWebサイトから取得されたデータを簡単にアクセスできるようにデータベースに保管することを目的としています。Webクローラーツールは、クローリングプロセスを簡単、自動化にし、Webデータリソースを誰でも簡単に利用できるようにするため、 広く知られています。Webクローラツールを使用すると、コピペをしなくなり、データ収集が自動化になります。さらに、Webクローラー使うと、コードを書く必要がなく、ネット上の情報を速くスクレイピングでき、構造化データに変換できます。
以前、Webクローラーに関する基礎知識について紹介しましたので、今回の記事では、WEB上で人気のあるトップ20のWebクローラーツールを紹介したいと思います。
1. Octoparse
Octoparseは、どんなWEBサイト上のデータも手軽に抽出することができる強力な無料Webクローラーです。Octoparseには、「Wizard mode(ウィザードモード)」と「Advanced mode(アドバンスドモード)」があり、プログラミングの知識がなくてもカンタンに利用できます。このフリーツールをダウンロードした後、マウスクリックで簡単にデータを抽出できます。取得したコンテンツをダウンロードし、CSV、Excel、またはデータベースなどの構造化フォーマットとして保存できます。
それに、クラウド型プラットフォームも提供するので、スケジュール設定が可能で、自動取得したデータはクラウドに保存され、どこでもアクセスできます。ハードウェア保守も不要だし、ネットワーク中断に心配する必要もありません。IPが自動的に巡回できるので、アクセス拒否を効果的に避けられます。
また、内蔵Regexツールを使って、多くの複雑なWebサイトからデータを抽出でき、XPathツールを使ってWeb要素を正しく見つけることができます。
要するに、基本的なものでもハイエンドなものでも、Octoparseはユーザーのほとんどのクローリングニーズを満たすことができるはずです。
WebCopyは無料なWebクローラーで、部分的または完全なWEBサイトをハードディスクにコピーしてオフラインでアクセスできます。
WEBサイトのコンテンツをハードディスクにダウンロードする前に、指定されたWEBサイトをスキャンし、ローカルパスと一致するようにサイト内の画像やテキストようなリソースへのリンクを自動的に再マップすします。
上記のルールに加えて、ドメインエイリアス、ユーザーエージェント文字列、デフォルトドキュメントなどを設定することもできます。
ただし、WebCopyには仮想DOMやJavaScript解析のフォームは含まれていません。WEBサイトでJavaScriptを頻繁に使用して操作する場合、JavaScriptが動的にリンクを生成し、WEBサイトのすべてを検出できなくなり、WebCopyは本当のコピーを作成することはできません。
3. HTTrack
HTTrackは、Webクローラーのフリーツールとして、インターネットからWEBサイト全体をPCにダウンロードするのに適した機能を提供しています。Windows、Linux、Sun Solaris、および他のUnixシステムで使用できるバージョンを提供しています。1つのサイトまたは複数のサイトを共有リンクで共有することができます。「オプションの設定」でWebページをダウンロードするときに同時に開くページ数を決めることができます。ディレクトリ全体から写真、ファイル、HTMLコードを取得し、現在のミラーリングされたWebサイトを更新し、中断されたダウンロードを再開することができます。
さらに、スピードを最大化するためにHTTTrackでプロキシサポートを利用できます。HTTrackはコマンドラインプログラムとして、プライベート(スクレイピング)またはプロフェッショナル(オンラインのWebミラー)の両方のシェル用に動作します。なので、HTTrackは、高度なプログラミングスキルを持つ人にとってはいい選択肢です。
4. Getleft
Getleftは、Webサイトをスクレイピングできる、無料Webクローラーです。使いやすいインターフェースと複数のオプションを備えて、Webサイト全体をダウンロードできます。Getleftには、ダウンロードする前に取得するサイトの一覧表を表示する機能があり、不要なサイトをあらかじめ除外できるという便利さがあります。ダウンロードしたページは、相対リンクに変更されるので、オフラインでのブラウズが容易です。それに、多言語サポートを提供し、現在Getleftは14種の言語をサポートしています。再帰的には実行されません。
Getleftは、フリーのWebクローラーツールとして、より複雑なスキルを必要とせず、基本的なクローリングニーズを満たす便利なソフトです。
5. Scraper
ScraperはWebデータを手軽に取得できるChrome拡張機能で、オンライン調査やGoogleスプレッドシートへのデータエクスポートに役立ちます。これでWEB上のデータを、エクセルやスプレッドシートに保存でき、データ収集の手間がかなり省けます。Scraperは無料のWebクローラーで、ブラウザでよく機能し、クローリングするURLを定義するためのXPathを自動生成します。データ抽出機能が限られていますが、スクレイピングの知識がない初心者にとっては使いやすいツールです。
6. OutWit Hub
OutWit Hubは、Webデータ抽出機能を備えたFirefox向けのアドオンで、Web検索を簡単にさせます。このWebクローラーは、表示中のWebページの詳細をパーツ毎に一覧で表示、必要なパーツをローカルに簡単にダウンロードできます。
OutWit Hubは、ニーズに応じて、大量のデータをスクレイピングできる単一のインターフェイスを提供します。OutWit Hubを使うと、ブラウザ自体から任意のWebページをスクレイピングしたり、自動エージェントを作成してデータを抽出したり、設定によってフォーマットすることさえできます。
これは、最も簡単なWebスクレイピングツールの1つで、無料だし、コードを書くことなくWebデータを抽出できます。
7. ParseHub
Parsehubは、AJAX、JavaScript、リダイレクト、およびCookieを使用するサイトからの複雑なデータ抽出をサポートする優れたWebクローラーです。Web上の文書を読み込んで解析し、関連するデータを出力できる機械学習技術を備えています。
ParsehubはWindows、Mac OS X、Linuxなどのデスクトップクライアントとして利用でき、ブラウザ内に組み込まれているWebアプリケーションを使用することもできます。
無料ツールとしてParsehubにプロジェクトを5つしか設定できません。
VisualScraperは、ユーザーフレンドリーなインターフェースを備えた、無料のWebクローラーです。コードを書くことなく、Webからデータを簡単に収集できます。複数のWebページからリアルタイムデータを取得し、抽出したデータをCSV、XML、JSONまたはSQLファイルとしてエクスポートできます。SaaSに加えて、VisualScraperはデータ配信サービスや抽出ソフトウェアの作成などのWebスクレイピングサービスを提供しています。
Visual Scraperを使うと、ユーザーは特定の時間に実行されるようにプロジェクトをスケジュールしたり、分、日、週、月、年ごとにスクレイピングを繰り返すことができます。
9. Scrapinghub
Scrapinghubは、クラウドベースのデータ抽出ツールであり、開発者が貴重なデータを取得するのに役立ちます。オープンソースのビジュアルWebクローラーツールは、ユーザがプログラミングの知識なしにWebサイトをスクレイピングすることを可能にします。
Scrapinghubは、巨大なまたはボットで保護されたサイトを簡単にクローリングできるボット対策をバイパスすることをサポートする、スマートなプロキシローテータであるCrawleraを使用しています。これにより、ユーザーは単純なHTTP APIの代わり、複数のIPと場所からスクレイピングできます。
ScrapinghubはWebページ全体を構造化されたコンテンツに変換します。このツールが要件を満たすことができない場合、専門家チームを利用できます。
10. Dexi.io
Dexi.ioは、ダウンロードを必要としないWebベースのスクレイピングツールです。ブラウザベースのWebクローラーツールとして、クローラを設定してリアルタイムでデータを取得できます。スクレイピングタスクを作成する3種類のロボット(抽出ツール、クローラー、パイプ)を提供できます。
Dexi.ioには、スクレイピングしたデータをGoogleドライブに直接保存したり、JSONやCSVファイルとしてエクスポートする機能もあります。また、プロキシサーバーを使って匿名でデータをスクレイピングすることもサポートしています。収集したデータは、アーカイブされる前に最大2週間、サーバー上でホストされます。リアルタイムデータを取得するためのニーズに合わせて有料サービスを提供します。
11. Webhose.io
Webhose.ioはWebサイトからさまざまなリアルタイムデータを取得できるWebクローラーです。このツールにより、さまざまなソースをカバーする複数のフィルタを使用でき、取得したデータからキーワードをさらに抽出できます。
また、スクレイピングしたデータをExcel、XML、JSON、RSS形式で保存でき、アーカイブから履歴データにアクセスすることができます。さらに、webhose.ioは取得したデータを最大80種言語でサポートし、データの検索も簡単にします。
とにかく、Webhose.ioはユーザーの基本的なクローリング要件を満たすことができます。
12. Import. io
Import. IoはURLを入力するだけでデータの抽出ができるツールです。コードを書くことなく数千のWebページを簡単にスクレイピングでき、要件に基づいて1000以上のAPIを構築できます。クラドベースのサービスであるため、ソフトウェアなどのダウンロードやインストールは一切必要ありません。ページのURLを入力すると、自動でデータ箇所を判断して情報を集めてくれます。
もちろんWindows、Mac、Linuxで使えるスクレイピング用のアプリも用意されています。スクレイピングの終了後、Csv/Json形式でデータをダウンロードできます。さらに、毎週、毎日、毎時のクロール作業をスケジュールできます。
現在、無料版は利用できなくなっているようで、最低利用金額は$299からです。
13. 80legs
80legsは、カスタマイズされた要件に基づいて設定できる強力なWebクローラーツールです。膨大な量のデータを取り込むことができ、抽出されたデータを即時にダウンロードするオプションもあります。80legsは、無料からでも利用でき、1回あたり10,000 URLまで取得できる高性能クローリング体験を提供します。
14. Spinn3r
Spinn3rを使うと、ブログ、ニュース、ソーシャルメディアサイト、RSS&ATOMフィードからデータ全体を取得できます。Spinn3rには、インデックス作成作業の95%を管理するFirehouse APIが付属しています。スパムや不適切な言語の使用を取り除き、データの安全性を向上させる高度なスパム保護機能を提供します。
Spinn3rはGoogleのように、コンテンツを索引付けし、抽出したデータをJSONファイルに保存します。 Webクローラーは度々にWebサイトをスキャンし、複数のソースから更新するのもを見つけてリアルタイムの内容を取得します。管理コンソールではクローリングを制御し、フルテキスト検索では元データを複雑なクエリを作成できます。
15. Content Grabber
Content Graberは、企業向けのWebクローラーソフトウェアです。単独なWebクローリングエージェントを作成できます。ほぼすべてのWebサイトからコンテンツを抽出し、Excel、XML、CSV、ほとんどのデータベースなどの任意の形式で構造化データとして保存できます。
これは、多くの強力なスクリプト編集、インターフェイスのデバッグを提供するので、高度なプログラミングスキルを持つ人に適しています。ユーザーは、C#またはVB.NETを使用して、スクリプトをデバッグしたり書き込んでクローリングプロセスをプログラミングすることができます。たとえば、Content Grabberは、Visual Studio 2013と統合して、ユーザーの特定のニーズに基づいて、高度で洗練されたカスタマイズされたクローラーに最も強力なスクリプト編集、デバッグ、単体テストをサポートします。
16. Helium Scraper
Helium Scraperは、要素間の関連が小さい場合にうまく機能する視覚的なWebスクレイピングソフトウェアです。コーディング、配置すること必要がありません。ユーザーはさまざまなクローリングニーズに基づいてオンラインテンプレートにアクセスできます。基本的には、初級レベルのユーザーのクローリングニーズを満たすことができます。
17. UiPath
UiPath は業務自動化をサポートするロボティックプロセスオートメーション(RPA)ソフトウェアです。 ほとんどのアプリケーションからWebデータとデスクトップデータの抽出を自動化します。Windowsシステムを実行している場合は、ロボティックプロセスオートメーション(RPA)ソフトウェアをインストールできます。Uipathは、複数のWebページにわたって表形式のデータとパターンベースのデータを抽出できます。
Uipathは、さらにクローリングするための組み込みツールを提供しています。このメソッドは、複雑なUIを処理する場合に非常に効果的です。Screen Scraping Toolは、個々のテキストエレメント、テキストグループ、テキストブロック(テーブル形式のデータ抽出など)の両方を処理できます。
さらに、コードを書くことなく、インテリジェントなWebエージェントを作成できますが、.NETハッカーがデータを完全に制御できます。
18. Scrape. it
Scrape. It はクラウドベースのWebデータ抽出ツールで、Node.jsのスクレイピングソフトです。これは、世界中の何百万という開発者とコードを発見、再利用、更新、共有するための公開パッケージと非公開パッケージの両方を提供しているため、高度なプログラミングスキルを備えた方に向けられています。強力な統合により、ニーズに合わせてカスタマイズされたクローラーを構築することができます。
19. WebHarvy
WebHarvy はポイントアンドクリック式のスクレイピングツールです。非プログラマのために設計されています。WebHarvyは自動的にWebサイトからのテキスト、イメージ、URL&メールをスクレイピングして、様々なフォーマットで保存します。また、匿名でクローリングを可能にする組み込みスケジューラとプロキシサポートを提供し、WebクローラーがWebサーバによってブロックされるのを防ぎます。プロキシサーバまたはVPN経由でターゲットWebサイトにアクセスするオプションがあります。
WebHarvy現在のバージョンでは、スクレイピングしたデータをXML、CSV、JSONまたはTSVファイルとしてエクスポートでき、SQLデータベースにエクスポートすることもできます。
20. Connotate
Connotateは企業規模Webデータ抽出用に設計された自動化Webクローラーです。ユーザーは、コードを書くことなく、ポイントアンドクリックだけで抽出エージェントを簡単に作成できます。
Ajaxなどの複雑なJavaScriptベースの動的サイト技術を含む、コーデイングなしでサイトの95%以上を自動的に抽出することができます。さらに、ConnotateはSQLデータベースやMongoDBを含むコンテンツとWebページを統合する機能も提供しています。
まとめ
Webコンテンツの作成から、大学などの研究機関、情報収集を専門とするアウトソーシング企業まで様々な企業や団体がデータ収集のニーズがあります。上記のWebクローラーは、ほとんどのクローリングニーズを満たすことができますが、これらのツール間ではそれぞれの機能に多くの違いがあります。したがって、大量のデータ取得や解析が必要な場合は、ニーズに合わせて最適なWebクローラーを使ってみると良いでしょう。
まだ知らない?Webクローラーのあれこれ
マーケティング、SEOを担当されている方ならWebクローラーやクローリングといった言葉をよく耳にするのではないでしょうか。今回はそんなWebクローラーに関する基礎知識について紹介します。
Webクローラーとは?
Webクローラーとはインターネット上に公開されているテキスト・画像・動画などの情報を自動で収集し、データベースに保管するプログラムのことです。「ボット(Bot)」、「スパイダー」、「ロボット」などとも呼ばれます。
Webクローラーの種類&機能
1.検索エンジン用クローラ
サイトを巡回して、そのサイト内の文字や画像を収集して、検索用元データとして蓄積するためのクローラです。これはもっとも知れている利用方法です。
著名な検索エンジンのクローラーは以下の通りです。
Googlebot(Google)
Bingbot(マイクロソフトが運営するbing)
Yahoo Slurp(日本以外のYahoo!)
Baiduspider(百度)
Yetibot(Naver)
2.定点観測用クローラ
定点観測と言えば、決まったサイトの、決まったページのみを定期的に巡回して、サイトの新着情報、更新情報を取得するためのクローラです。例えば、複数の価格サイトから、商品ごとの価格データを取得ことで、毎週の価格変動を分析し、価格、価格増減等をまとめた販売戦略資料を自動作成できます。ここでは、「Octoparse」というWebクローラーツールがあります。Octoparseの有料版だと、スケジュールを設定でき、定期的にクローリングを実行できます。無料版だと、スゲージュルに制限がありますが、十分すぎるくらいの機能があります。無料版と有料版の違いについては、料金表を参照してみてください。
3.SEO対策クローラ
SEOにおいて、クローラーはページをインデックスすることで、検索結果にページを表示させるという役割があります。なので、クローラーがサイト内のどのページを読み込んでいるかについては、SEO対策において改善策を練るための指針の1つになります。「Google Search Console」というGoogleが提供している無料ツールがあります。このツールを用いることで、クローラーの行動に関して詳細な情報を入手することが可能です。
Webクローラーを活用する場合の注意点
「岡崎図書館事件」を聞いたことがありますか?岡崎市立中央図書館Webサイトから新着図書データを自動で取得するプログラムを実行し、同サイトの一部機能を利用できない状態にしたため、利用者の一人が逮捕された事件です。
「Webクローラー」を活用することで、事業、営業、マーケティングを効率的に進めることができるようになります。でも、Webクローラーを運用するには、注意すべき点があります。
複数のページから情報を抜き出す場合に、連続アクセスするとWebサーバーに負荷をかけてることになります。その場合クロールされる側の迷惑になったり、DoS攻撃(サーバーに過剰な負荷をかけてサービスを妨害する攻撃)とみなされることがあります。
ですから、サーバーにあまり大きな負荷をかけないこと、不必要なアクションをトリガーしないこと、またそのWebサイトを適切な間隔で繰り返しクロールできるようにすることが重要です。
Webスクレイピング用のソフト30選
Webスクレピング (Webデータ抽出、スクリーンスクレイピングとも呼ばれます)は、Webからデータを抽出し、Web上の非構造化データをデータベースやスプレッドシートに格納・分析可能な構造化データへの変換するWeb技術です。
Webスクレイピング技術は、スクレイピングソフトツールによって実現されます。これらのツールは、Chromeのようなウェブブラウザを使用する場合と同じ方法でウェブサイトとやり取りします。スクレイピングソフトは、ブラウザーにデータを表示するだけでなく、Webページからデータを抽出し、それらをローカル・フォルダーまたはデータベースに保管します。
スクレイピングソフトと言っても、コーディングの知識が必要なものから、誰でも簡単にデータ抽出ができるツールまで様々です。今回、人気のスクレイピングソフトを30選紹介します。
Beautiful Soup は、HTMLとXMLファイルをスクレイピングするために設計されたPythonライブラリです。 DebianまたはUbuntuシステムを実行している場合、この無料のWebスクレイピングソフトをインストールできます。
Octoparse は、Windows用の無料Webスクレイピングソフトウェアです。コードを書くことなく、ウェブサイトからの非構造化データまたは半構造化データを構造化データに変換します。プログラミングに詳しくない人にとっては便利です。
Import.io は、ウェブサイトからデータをスクラップしてデータセットに整理することを可能にする、オンラインWebスクレイピングソフトウェアです。使いやすいインターフェースを備えています。
4. Mozenda
Mozendaは、ポイントアンドクリックで、Webからコンテンツを簡単に抽出できるスクレイピングソフトウェアです。
ParseHub は、可視化できるWebスクレピングソフトウェアで、簡単にWebからデータを取得できます。それに、APIを提供していないWebサイトから簡単にAPIを作成できます。
CrawlMonster はウェブサイトのSEOのためのWebスクレピングソフトウェアです。Webサイトにあるさまざまな種類のデータをスキャンできます。
Connotate は、Webデータのスクレイピングを自動化するソリューションを提供します。依頼する場合、スクレイピングするWeb情報のタイプ例を提供する必要があります。
Common Crawl は、クロールされたウェブサイトの公開データセットを提供します。 抽出されたWebページデータ、メタデータ、およびテキストが含まれています。
Crawly は、Webサイトをスクレピングし、JSONまたはCSV形式の構造化データに変換する自動サービスを提供します。
Content Grabber は、企業を対象としたWebスクレイピングソフトウェアです。Webスクレイピングエージェントをカスタマイズすることができます。
Diffbot は、Webページから構造化データをスクレイピングし、WebサイトをAPIに変換できる自動化ツールです。これは開発者向けです。
Dexi.io はプロフェッショナルクラウドスクレイピングソフトウェアで、されたビッグデータマイニングの自動化に向いています。無料プランとプロフェッショナルプランの両方を提供しています。これは、JavaScriptの処理に素晴らしいオプションになります。
Data Scraping Studio は、Webページ、HTML、XML、およびPDFからデータを取得するための無料のWebスクレイピンスクラップソフトウェアです。デスクトップクライアントはWindowsのみで使用できます。
Easy Web Extract はビジネスに向いている可視化スクレイピングソフトウェアです。このソフトウェアのユニークな機能はHTTP送信フォームです。
FMiner は可視化ワークフローデザイナを備えたWebスクレイピングソフトウェアで、マクロレコーダを使ってプロジェクトを構築できます。
Grabby はWebサイトからメールアドレスを取得できるWebスクレイピングサービスです。ブラウザベースなので、インストールは必要ありません。
Helium Scraper は、要素間の関連が小さい場合にうまく機能する視覚的なWebデータスクレイピングソフトウェアです。
Scrape. It はクラウドベースのWebデータ抽出ツールで、Node.jsのスクレイピングソフトです。
ScraperWiki は名前をQuickCodeに変更しました。会社Sensible Codeによって設計されて、PythonおよびRのデータ分析環境です。
Scrapehub は開発者の必要に応じてクローラを拡張できるようにする、クラウドベースのWebスクレイピングプラットフォームを提供します。開発者であれば、これはいい選択になります。
Screen Scraper というスクレイピングソフトは使い方の学習に多くの時間がかかります。経験の浅いユーザーであれば、ソフトウェアを習得するのは簡単ではありません。
Salestools.io は、LinkedIn、Angellist、Viadeoのようなプロフェッショナルサイト上のデータを手軽に取得できるスクレイピングソフトウェアを提供しています。
ScrapeHero はAPIプロバイダとして使うと、Webサイトをデータに変換できます。これは、既存のスクレイピング事業の改革です。
UiPath は業務自動化をサポートするロボティックプロセスオートメーション(RPA)ソフトウェアです。 ほとんどのアプリケーションからWebデータとデスクトップデータの抽出を自動化します。Windowsシステムを実行している場合は、ロボティックプロセスオートメーション(RPA)ソフトウェアをインストールできます。
Web Content Extractor は使いやすいWebスクレイピングソフトウェアです。14日間の無料試用版があります。
WebHarvy はポイントアンドクリック式のスクレイピングソフトウェアです。非プログラマのために設計されています。このソフトは、スケジュールを設定することはできません。
Web Scraper は、ウェブサイトからデータのスクレイピング用に構築されたchromeブラウザの拡張機能です。これは、動的なWebページを対応できる無料のWebスクレイピングソフトウェアです。
WebSundew はEclipseをベースに構築されている、直感的に操作ができるスクレイピングツールです。コーディングを覚えずに情報収集を簡単にすることができます。15日間無料でトライアルすることができます。
Winautomation はWindows用のWebスクレイピングツールです。レイアウトははっきりとわかりやすいです。
Web Robots は、動的JavaScriptの重いウェブサイトをスクレイピングめのプラットフォームです。ソフトウェアは現在ベータ版です。
スクレイピングソフトを使うことで大幅な時間短縮ができるようになりました。Webマーケティングに関わっている人は、すでにWebスクレイピングツールを使っている人も多いとは思いますが、それぞれの特徴を理解して最適なツールを利用してみてください。
Octoparseが日本語化サービスを開始
Octoparseは2016年3月15日に公開されたから2年も経ちました。ここ2年間では、高成長期を迎えており、今年からも多くのアップデートが行われています。
Octoparseの成長に関するチャートがあります:
過去2年間にやったこと
2016年3月15日、初めのユーザーが登録しました。4月に初めのユーザーが契約しました。Octoparseの公開以来、私たちはユーザー体験の向上に専念しています。
1. お客様の要望をより詳しく了解するために、たくさんのアンケート調査を行い、お客様から多くのアドバイスをもらいました。これらのアドバイスに基づいて、ユーザーに役に立つコンテンツの作成は仕事重心になりました。
2. チュートリアル、活用例、FAQ、スクレイピングの紹介ブログなど、600以上のコンテンツを編集しました。各チュートリアルはビデオまたはGIFを使って、操作の手順がよく説明されています。さまざまな目的でWebスクレイピングしたいユーザーにも、Octoparseを使ってデータを取得できるのは私たちの目指すことです。
3. コンテンツ以外にも、すべてのユーザーにタスク作りのサポートを提供しています。毎日平均86件のタスク作りに関する問題を処理します。これまで、40000人以上のユーザーをサポートしていました。
4. ユーザー体験を改善するために、Octoparseを定期的にリリースします。より迅速なデータ抽出を実現するために、追加料金なしで、有料ユーザーのクラウドサーバー数を6から14に引き上げました。2018年3月に新しいバージョンOctoparse V7.0.0がリリースされました。このリリースでは、デザイン、UI、内蔵ブラウザ、ブロック防止機能などを改善しました。
これらの努力により、2016年にサービスを開始して以来、Octoparseは月間ユニークビジター数が5万人を超えるまでに成長しました。今年から新たな顧客獲得に注力することで積極的な事業拡大を図ります。今では全世界の人がOctoparseを利用しており、日本からのユーザーが10%を占めるなど日本でも人気を集めていました。ですから、新たな成長戦略の一環として、日本市場は重要です。
Google TrendsにOctoparse人気度の地域ランキング
実はOctoparseを日本語化するかどうかを長い間に悩んでいます。「世界第3位の経済大国」と言っている日本は「特殊な存在」と思います。Octoparseのユーザーに日本の方は大きな部分を占めるため、やるしかありません。ですから、初めの一歩を踏み出した。2018年6月から日本語でのサービスを開始しました。今後、日本語でOctoparseを利用できるようになります。
新たに開設された日本語版サイトではほとんどのページが日本語化されましたが、ログイン、新規登録、お問い合わせに、クライアント関わるページは英語版のみがあります。でも、日本語でのお問い合わせが対応でき、これからも引き続き改善します。日本から英語サイトにアクセスすると下部にある「Octoparse Japan」から日本語版ページにアクセスできるようになっており、「https://www.octoparse.jp/」で直接日本語版ページにアクセスできます。
多くのユーザーは、「スクレイピングツール」を検索する時、Octoparseに関する文章を見たことがきっとありますよね。それは熱心のユーザーが日本の方にOctoparseの使い方などを紹介するために書いたブログです。今では、新しいバージョンOctoparse V7Xの使い方 、活用例、ブログでは日本語版を用意しており、日本語のFacebook、Twitterアカウントも開始しました。日本では、より多くの人々がOctoparseを知ることに信じています。
Octoparseにはきっと多くの不足が存在していますが、ユーザーとの交流を踏まえて、今までよりも積極的なサービスを提供して、努力を続けることによって、より多くの顧客を獲得できるでしょう。