We Are Social とHootsuiteの調査報告書「Global Digital in 2018」によると、世界中のインターネットユーザーの数は、2017年から7%増加して40億を超えました。世界の人口は約76億人、インターネット利用者は約40億人で、総人口の53%に相当します。
インターネットの普及により、電子メール、ショッピングサイトでの買い物、スマートフォンを使った情報の検索や、ブログへの書き込みなど、インターネットは私たちの私生活に浸透し、日常生活に欠かせないライフラインとなりつつあります。私たちがインターネット上で行うことも大な量の「ユーザーデータ」を生成しています。このようなデジタル変換は、データの収集、保存、分析の方法に新たな課題をもたらしました。
Webクローラー(スパイダーやスパイダーボットとも呼ばれる)を構築することは、ビッグデータセットを集約するためのスマートなアプローチです。この記事では、次の質問に取り組んでいきます。
1) Webクローラーとは?
Webクローラーは、インターネット上のWebサイトのコンテンツを索引付けすることによって動作するインターネットボットです。これは、コンピュータ言語で書かれたプログラムまたはスクリプトであり、インターネットから自動的に情報やデータを取得するものです。
2) Webクローラーの種類&機能は?
さまざまなアプリケーションに応じて、Webクローラーには、検索エンジン用クローラー、定点観測用クローラー、SEO対策クローラーの4つのタイプがあります。
検索エンジン用クローラー
サイトを巡回して、そのサイト内の文字や画像を収集して、検索用元データとして蓄積するためのクローラです。これはもっとも知れている利用方法です。
著名な検索エンジンのクローラーは以下の通りです。
· Googlebot(Google)
· Yahoo Slurp(日本以外のYahoo!)
· Baiduspider(百度)
· Yetibot(Naver)
定点観測用クローラー
定点観測と言えば、決まったサイトの、決まったページのみを定期的に巡回して、サイトの新着情報、更新情報を取得するためのクローラです。例えば、複数の価格サイトから、商品ごとの価格データを取得ことで、毎週の価格変動を分析し、価格、価格増減等をまとめた販売戦略資料を自動作成できます。
SEO対策クローラー
SEOにおいて、クローラーはページをインデックスすることで、検索結果にページを表示させるという役割があります。なので、クローラーがサイト内のどのページを読み込んでいるかについては、SEO対策において改善策を練るための指針の1つになります。「Google Search Console」というGoogleが提供している無料ツールがあります。このツールを用いることで、クローラーの行動に関して詳細な情報を入手することが可能です。
3) Webクローラーを構築するには?
プログラミング言語を使う(例:Python)
プログラミング言語を使ってWebクローラーを構築したいと思っている非プログラマーにとって、PHP、Java、C / C ++と比べ、Pythonは最も簡単なものです。Pythonの文法は、英語を読める人なら誰でも簡単で分かりやすいです。
以下はPythonで書かれたWebクローラーの簡単な例です。
import Queue
initial_page = "http://www.renminribao.com"
url_queue = Queue.Queue()
seen = set()
seen.insert(initial_page)
url_queue.put(initial_page)
while(True):
if url_queue.size()>0:
current_url = url_queue.get()
store(current_url)
for next_url in extract_urls(current_url):
if next_url not in seen:
seen.put(next_url)
url_queue.put(next_url)
else:
break
プログラミングの知識がない初心者として、Pythonを学び、Webクローラーを構築する書くことに時間と労力を費やすことが絶対必要です。それにこの過程は数ヶ月続くかもしれません。
Webスクレイピングツールを使う(例:Octoparse)
初心者が短時間でWebクローラーを作成したい場合は、Octoparseのような視覚的なWebスクレイピングソフトウェアを検討することをお勧めします。これはコーディングを必要とないWebスクレイピングツールで、無料のバージョンで提供されています。他のWebスクレイピングツールと比べて、OctoparseはWebサイトからデータをすばやく取得するためのコスパいいソリューションとなります。
Octoparseで Webクローラーを構築する
1. 超初心者向けのテンプレートモード
Octoparseのソフトには数十種類のあらかじめ作成されたテンプレートがあり、瞬時にデータを取得できて、スクレイピングタスクを設定する必要はありません。Octoparseの新しいタスクテンプレートは、誰でも簡単にWebスクレイピングを利用できるように設計されています。テンプレートを使用すると、タスクの作る学習時間を短縮し、すぐにデータを取得できます。この時点でテンプレートはAmazon、Indeed、Instagram、Twitters、YouTube、食べログなど多くの人気サイトがカバーされています。
2. 提示ガイドがあるウィザードモード
Octoparseのウィザードモードには、「List or Table」、「List and Detail」、「Single Page」の3つのテンプレートを用意していて、ユーザーが段階的にデータをスクレイピングする際のガイドとなります。ウィザードモードは特定のページ構造だけで機能し、ユーザーがWebページの構造を正しく把握する上に、どのデータフィールドを抽出したいかをOctoparseに伝える必要があります。
3. 複雑なスクレイピングできるカスタマイズモード
テンプレートがなく、webサイトが複雑な場合、テンプレートモードとウィザードモードは私たちが望むスクレイピング要求に満たすことはできません。したがって、複雑な構造を持つWebサイト(ログインや検索が必要なサイトなど)では、より柔軟なワークフローを設定できるカスタマイズモードをお勧めします。カスタマイズモードはJavaScript、AJAXなど動的なサイトにも対応できる自由度の高く強力なWebスクレイピングモードです。
Octoparseを使ってWebクローラーを構築する方法の例を示します。[VEDIO:Amazonからの製品情報をスクレイピングする(Octoparse 7.X)]
4) まとめ
このデータ欲しいな、と思った時にすぐデータ収集できるかどうかは、今後のビジネスにおいて大きな影響をあたえるでしょう。「Python、ちょっと難しいな」と思われた方、Octoparseのようなスクレイピングツールはいかがでしょうか? 忙しくても、時間がなくても、スクレイピングスキル習得への道のりに役立つと思いますよ。
インターネットの普及により、電子メール、ショッピングサイトでの買い物、スマートフォンを使った情報の検索や、ブログへの書き込みなど、インターネットは私たちの私生活に浸透し、日常生活に欠かせないライフラインとなりつつあります。私たちがインターネット上で行うことも大な量の「ユーザーデータ」を生成しています。このようなデジタル変換は、データの収集、保存、分析の方法に新たな課題をもたらしました。
Webクローラー(スパイダーやスパイダーボットとも呼ばれる)を構築することは、ビッグデータセットを集約するためのスマートなアプローチです。この記事では、次の質問に取り組んでいきます。
1) Webクローラーとは?
Webクローラーは、インターネット上のWebサイトのコンテンツを索引付けすることによって動作するインターネットボットです。これは、コンピュータ言語で書かれたプログラムまたはスクリプトであり、インターネットから自動的に情報やデータを取得するものです。
2) Webクローラーの種類&機能は?
さまざまなアプリケーションに応じて、Webクローラーには、検索エンジン用クローラー、定点観測用クローラー、SEO対策クローラーの4つのタイプがあります。
検索エンジン用クローラー
サイトを巡回して、そのサイト内の文字や画像を収集して、検索用元データとして蓄積するためのクローラです。これはもっとも知れている利用方法です。
著名な検索エンジンのクローラーは以下の通りです。
· Googlebot(Google)
· Yahoo Slurp(日本以外のYahoo!)
· Baiduspider(百度)
· Yetibot(Naver)
定点観測用クローラー
定点観測と言えば、決まったサイトの、決まったページのみを定期的に巡回して、サイトの新着情報、更新情報を取得するためのクローラです。例えば、複数の価格サイトから、商品ごとの価格データを取得ことで、毎週の価格変動を分析し、価格、価格増減等をまとめた販売戦略資料を自動作成できます。
SEO対策クローラー
SEOにおいて、クローラーはページをインデックスすることで、検索結果にページを表示させるという役割があります。なので、クローラーがサイト内のどのページを読み込んでいるかについては、SEO対策において改善策を練るための指針の1つになります。「Google Search Console」というGoogleが提供している無料ツールがあります。このツールを用いることで、クローラーの行動に関して詳細な情報を入手することが可能です。
3) Webクローラーを構築するには?
プログラミング言語を使う(例:Python)
プログラミング言語を使ってWebクローラーを構築したいと思っている非プログラマーにとって、PHP、Java、C / C ++と比べ、Pythonは最も簡単なものです。Pythonの文法は、英語を読める人なら誰でも簡単で分かりやすいです。
以下はPythonで書かれたWebクローラーの簡単な例です。
import Queue
initial_page = "http://www.renminribao.com"
url_queue = Queue.Queue()
seen = set()
seen.insert(initial_page)
url_queue.put(initial_page)
while(True):
if url_queue.size()>0:
current_url = url_queue.get()
store(current_url)
for next_url in extract_urls(current_url):
if next_url not in seen:
seen.put(next_url)
url_queue.put(next_url)
else:
break
プログラミングの知識がない初心者として、Pythonを学び、Webクローラーを構築する書くことに時間と労力を費やすことが絶対必要です。それにこの過程は数ヶ月続くかもしれません。
Webスクレイピングツールを使う(例:Octoparse)
初心者が短時間でWebクローラーを作成したい場合は、Octoparseのような視覚的なWebスクレイピングソフトウェアを検討することをお勧めします。これはコーディングを必要とないWebスクレイピングツールで、無料のバージョンで提供されています。他のWebスクレイピングツールと比べて、OctoparseはWebサイトからデータをすばやく取得するためのコスパいいソリューションとなります。
Octoparseで Webクローラーを構築する
1. 超初心者向けのテンプレートモード
Octoparseのソフトには数十種類のあらかじめ作成されたテンプレートがあり、瞬時にデータを取得できて、スクレイピングタスクを設定する必要はありません。Octoparseの新しいタスクテンプレートは、誰でも簡単にWebスクレイピングを利用できるように設計されています。テンプレートを使用すると、タスクの作る学習時間を短縮し、すぐにデータを取得できます。この時点でテンプレートはAmazon、Indeed、Instagram、Twitters、YouTube、食べログなど多くの人気サイトがカバーされています。
2. 提示ガイドがあるウィザードモード
Octoparseのウィザードモードには、「List or Table」、「List and Detail」、「Single Page」の3つのテンプレートを用意していて、ユーザーが段階的にデータをスクレイピングする際のガイドとなります。ウィザードモードは特定のページ構造だけで機能し、ユーザーがWebページの構造を正しく把握する上に、どのデータフィールドを抽出したいかをOctoparseに伝える必要があります。
3. 複雑なスクレイピングできるカスタマイズモード
テンプレートがなく、webサイトが複雑な場合、テンプレートモードとウィザードモードは私たちが望むスクレイピング要求に満たすことはできません。したがって、複雑な構造を持つWebサイト(ログインや検索が必要なサイトなど)では、より柔軟なワークフローを設定できるカスタマイズモードをお勧めします。カスタマイズモードはJavaScript、AJAXなど動的なサイトにも対応できる自由度の高く強力なWebスクレイピングモードです。
Octoparseを使ってWebクローラーを構築する方法の例を示します。[VEDIO:Amazonからの製品情報をスクレイピングする(Octoparse 7.X)]
4) まとめ
このデータ欲しいな、と思った時にすぐデータ収集できるかどうかは、今後のビジネスにおいて大きな影響をあたえるでしょう。「Python、ちょっと難しいな」と思われた方、Octoparseのようなスクレイピングツールはいかがでしょうか? 忙しくても、時間がなくても、スクレイピングスキル習得への道のりに役立つと思いますよ。
※コメント投稿者のブログIDはブログ作成者のみに通知されます