Webスクレイピングを簡単にする

Webスクレイピングを簡単なクリックとフェッチに主張したいが、これは本当ではなく、Webスクレイピングは難しいです。さて、Octoparse、Parsehub、MozendaのようなビジュアルなWebスクレイピングツールがなかった時代を考えてみましょう。プログラミング知識のない人は、Webスクレイピングのような技術集約的な仕事に引き止められます。ソフトウェアの学習には時間がかかりますが、これらの「知能な」プログラムは誰もがWebスクレイピングを実行できるようにしました。

 

#なぜWebスクレイピングは難しいのですか？
![business-trouble-facebook-1-e1530137411923.jpg](https://qiita-image-store.s3.amazonaws.com/0/262932/4643b64a-c879-545a-3bd5-97b1c42b0991.jpeg)

###· コーディングは全ての人に向いていない
興味を持っている場合にのみ、コードの学習は面白いことです。興味がないか、時間がない場合、Webからデータを取得するのに障壁となる可能性があります。

###· 全てのWebサイトが同じではない（明らかに）
Webサイトはいつも変化し、スクレイパーのメンテナンスには非常に時間とコストがかかります。普通のhtmlコンテンツをスクレイピングすることはそれほど難しくないかもしれませんが、それ以上のことがあります。PDF、CSV、またはExcelからのスクレイピングはどうしますか？

###· Webページは多くの方法でユーザーと対話するように設計されている
複雑なJava ScriptsとAJAXメカニズムから作られたサイト（ほとんどの人気サイト）は、スクレイピングが難しいです。また、データにアクセスするためにログインを必要とするサイトや、フォームの後ろで動的にデータが変更されるサイトは、Webスクレイパーにとってすごく邪魔なものです。

###· スクレイピング防止機構
Webスクレイピングへの意識が高まるにつれて、簡単なスクレイピングがボットとして検出されやすく、ブロックされる可能性があります。Captchaや限られたアクセスは、しばしば短時間で頻繁に出てきます。一般的なスクレイピング防止対策を無効にするために、ユーザーエージェントの回転、IPアドレスの変更、およびプロキシの切り替えなどの戦術が使用されます。さらに、ページのダウンロードの遅延を追加したり、人間の好きな行動を追加したりすることで、「あなたはボットではない」という印象を与えることもできます。

###· 「スーパー」サーバーが必要
いくつかのページをスクレイピングしたり、数百万ページのような規模でスクレイピングしたりすることは、まったく異なることです。大規模なスクレイピングには、I / Oメカニズム、分散クローリング、通信、タスクスケジューリング、重複チェックなどのスケーラブルなシステムが必要です。

興味を持っている場合、[Webスクレイピング](https://www.octoparse.jp/blog/web-scraping-introduction)について詳しくご覧ください。

 

#「自動」Webスクレーパーはどのように機能しますか？

自動Webスクレイパーのほとんどは、WebページのHTML構造を解読することによって動作します。「ドラッグ」と「クリック」で必要なものをスクレイパーに「伝える」ことによって、スクレイパーはさまざまなアルゴリズムを使って、取得したいデータを「推測」し、それでページからターゲットテキスト、HTML、またはURLを取得します。

![capterra-data-extraction-software.png](https://qiita-image-store.s3.amazonaws.com/0/262932/73f66fee-de59-fe63-e3e0-9d4d26e66eb5.png)
 

#Webスクレイピングツールの使用を検討すべきですか？

この質問には完璧な答えはありません。しかし、以下のいずれかの状況がある場合、スクレイピングツールを利用できるかもしれません。

1) コーディング方法を知らない（深く掘り下げる欲望/時間がない）

2) コンピュータプログラムに快適

3) 時間/予算が限られている

4) 多くのサイトからスクレイピングする

5) 一貫してスクレイピングしたい

 

上記のいずれかに合っている場合は、あなたのニーズを最も満たすスクレイピングツールを見つけるのに役立つ記事があります。

[Webスクレイピング用のソフト30選](https://www.octoparse.jp/blog/top-30-free-web-scraping-software)

[ネット情報収集の味方「スクレイピングツール」3選](https://www.octoparse.jp/blog/3-web-crawling-tools-for-extracting-web-data/)

 

#「よりスマート」になるWebスクレイパー

世界は進歩しており、異なるスクレイピングツールもアップグレードしています。最近私が知っているスクレイピングツールにも注目する価値がある変更点はいくつかあります。スクレイピングを誰にでも簡単に、アクセスしやすくすることは素晴らしいです。

[Octoparse](http://jp.octoparse.com/)は最近、[新しいバージョン](https://www.octoparse.jp/Download/)をリリースしました。このバージョンでは、あらかじめ作成されたテンプレートを使ってスクレイピングできる新しいテンプレートモードが導入されました。Amazon、Indeed、Booking、食べログ、Twitters、YouTubeなど多くの人気サイトがカバーされています。新しいテンプレートモードでは、ユーザーはキーワードや位置などの変数を入力するよう求められます。スクレーパーは自動動作して、サイトからデータを収集します。望むテンプレートがあれば、それはかなり素晴らしい機能です。Octoparseチームも常に新しいテンプレートを追加しています。
![template2gif2.gif](https://qiita-image-store.s3.amazonaws.com/0/262932/55719cd8-8678-d1d4-0e71-d9ebe38678b7.gif)


このバージョンには、新しいURL機能も含まれています。これにより、

1つのタスク/クローラーに最大100万のURLを追加する（以前は2万）
ローカルファイルまたは別のタスクからURLを一括インポートする
あらかじめ定義されたパターンに従ったURLを生成する（例えば、ページ番号の変更）
スクレイピングタスクが2つに分割され、URLを抽出するタスクと抽出したURLから特定のデータを抽出するタスクがある場合、新しいベータ版では、手動でURLをあるタスクから別のタスクへ「転送」することなく2つのタスクを直接関連付けることができます。
 

Mozendaはこの数か月でリリースしていませんが、2017年12月の最後のアップデートではログイン後のスクレイピングをより簡単にすることを目的とした新しいクッキーストアが導入されました。それ以前は、インラインデータ比較や移動エージェントデータなどの主要な機能アップグレードもありました。リクエストブロッカーやジョブシーケンサーなどのその他の以前のアップデートでは、スクレイピングプロセスをより効率的にすることもできます。
<img width="900" alt="jietu20181026-110907.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/262932/f5e59692-f056-6dc1-07b5-d4019f9b1ea0.jpeg">


Dexi.ioでは、12ヶ月以上前に行われた最後のアップデートでは、Dexi.ioアカウントで何が起きたかに基づいてアクションを実行するトリガ機能が導入されました。更新は1年以上経っていますが、複雑な仕事がある場合は、試す価値があります。
 

Import.ioは今年の7月に2つの新機能を追加しました。これらは主要なスクレイピング機能ではありませんが、必要な場合は非常に便利です：webhooksとextractorタグ付け。 webhooksを使用すると、データが抽出されるとすぐに、AWS、Zapier、Google Cloudなどの多くのサードパーティプログラムで通知を受けることができます。Extractorタグ付けはAPIを介して余分なタグ付けを可能にし、データの統合と保存をより簡単かつ効率的にすることを目指しています。わずか1ヶ月前、Import.ioは、Country Based Extractorを提供することで、外国のデータをもっと簡単に入手できるようにしました。

 

#Webスクレイピングの使用例 
![images.jpeg](https://qiita-image-store.s3.amazonaws.com/0/262932/217de9ab-b62b-8f8f-79f5-3483c3fb584e.jpeg)


新たな情報が秒単位でWebに追加されることで、可能性は無限大です！

· 不動産情報を収集する（SUUMO、LIFULL HOME'Sなど）

· メールや電話などの見込み客情報を収集する（Yelp、Yellowpage、ｉタウンページなど）

· 競争分析のための製品情報を収集する（Amazon、eBayなど）

· 感情分析とブランド管理のための製品レビューを収集する（Amazonなど）

· 傾向や社会的な言及を識別するためのソーシャルメディアプラットフォームをスクレイピングする（Facebook、Twitter、Instagramなど）

· さまざまな研究トピックのデータを収集する

· 価格モニタを構築するための製品価格を収集する（Amazon、eBayなど）

· ホテルや航空券などの情報を収集する（Booking, Airbnbなど）

· 求人サイトから仕事情報を収集する（Indeed、リクナビNEXTなど）

· SEO追跡のための検索結果をスクレイピングする

· 医師のデータをスクレイピングする

· ブログやフォーラムのコンテンツを収集する

· さまざまなマーケティング目的でデータを収集する

· イベントリストをスクレイピングする

· などなど

 
#次のステップは？

毎日どのぐらいのデータが作成されているかを知っていますか？現在のペースでは、毎日2.5エクサのデータが作成され、それに90％以上のデータが過去2年間に作成されました。データの量が前例のない割合で増加したり、データ駆動型の意思決定がこれまで以上に高く評価されるようになった時に、スクレイピングするかしないかは、遅かれ早かれ多くの人にとって質問になるかもしれません。技術は仕事を「よりスマートに」より簡単にし、もちろん、Webスクレイピング分野にも当てはまるはずです。