Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス

AWSを利用してスクレイピングの悩みを解決するチップス
クローラー/スクレイピングにAWSを利用しようという話

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス

  1. 1. 第3回Webスクレイピング勉強会@東京 ! AWSを利用して スクレイピングの悩みを 解決するチップス 2014年10月26日 @dkfj 佐々木拓郎
  2. 2. ✦ プロフィール ‣ Webシステムを得意とするSIerで勤務 ‣ 最近の仕事はAWS事業の推進・モバイルアプリ開発 ‣ Webスクレイピングして、データマイニングするのが趣味 ★ ソーシャル・ネットワーク ‣ blog: http://blog.takuros.net/ ‣ twitter: @dkfj ‣ Facebook: takuro.sasaki ‣ SlideShare: http://www.slideshare.net/takurosasaki/ @dkfj 自己紹介: 佐々木拓郎
  3. 3. 主にJAWSUG大阪で活動していました (AWS勉強会)
  4. 4. 宣伝!! クローラー/スクレイピング本を書きました。 「Rubyによるクローラー開発技法」 ご大層な名前ですが、初中級者向けです。 http://bit.ly/crawler_book
  5. 5. 予想に反して、売上げ好調です。 発売2ヶ月経過で、増刷2回。 Amazonの幾つかのカテゴリで、 ランキング1位継続中。
  6. 6. 大量のデータを集める際に、 困ることベスト3
  7. 7. データ収集の課題 • クローリング(巡回)に時間が掛かる • IPアドレス制限 • データの保存方法
  8. 8. クローリング(巡回)に時間がかかる • 収集先が膨大  (対象サイト数×ページ数。何百~何千万件というケースも) • 収集するデータが大きい  (画像系であれば、その傾向が顕著)
  9. 9. IPアドレス制限 • 単位時間あたりで規定の回数を超えるとブロックされる  (1分間あたり200回など。最近は、リスト型アカウントハッキングの影響で厳しめに) • IPアドレスをトリガーにされる場合が多い  (Google BAN) !
  10. 10. データの保存方法 • 収集してきたデータを長期間に渡って保存するのは難しい • データ量、端末の変更、整理  (容量の問題、端末を入れ替えた際にデータ紛失)
  11. 11. AWSを使うと、解決できるよ
  12. 12.  Amazon Web Services(AWS)とは、Amazon.com によ り提供される各種遠隔コンピューティングサービス(ウェブサー ビス)である。  2006年7月に公開され、Amazon Web Services は他のウェ ブサイトやクライアントサイドアプリケーションに対しオンライ ンサービスをち提ょ供っしてとい理る解。でこれきらなのいサー。ビ。ス。 の多くはエンドユー ザに直接公開されているものではなく、他の開発者が使用可能な 機能を提供するものである。  Amazon Web Services の各種サービスはHTTPを通じ、 REST および SOAP プロトコルを使用してアクセスされる。費用 は実際の使用量に応じて決定される。 ウィキペディアより
  13. 13. AWSを三行で説明すると • Amazonが提供するクラウドサービス • 仮想コンピュータ(EC2)とストレージサービス(S3)を 中心に、数十のサービスを提供 • 基本的には従量課金なので、使った分だけの支払い
  14. 14. コンピュータ処理 Amazon EC2 AWSのサービス一覧 ストレージ Amazon S3, Glaicer Amazon EBS データベース Amazon RDS, DynamoDB Amazon Simple DB Elasticache, Redshift コンテンツ配信 Amazon CloudFront メッセージ Amazon SNS Amazon SQS 分散処理 Elastic MapReduce メール配信 Amazon SES ワークホース Amazon Mechanical Turk 認証&請求 AWS IAM Identity Federation Consolidated Billing モニタリング Amazon CloudWatch スケーリング Auto Scale ネットワーク&ルーティング Amazon VPC ELB, Route53 AWS DirectConnect ライブラリ&SDKs Java, PHP, .NET, Python, Ruby Webインターフェース Management Console IDEプラグイン Eclipse, Visual Studio デプロイと自動化 Elastic Beanstalk CloudFormation OpsWorks この辺りを 使います
  15. 15. Amazon Elastic Compute Cloud(Amazon EC2) 仮想コンピュータサービス • AWSの中核サービス • インスタンスサイズごとに価格設定。1 時間単位の課金 • パブリックIPが自動的に付与。  (一定の条件あり) • 1時間あたり、$0.013(≒1.4円)から  スポットインスタンスを利用すれば、$0.0031(≒0.3円)
  16. 16. Amazon Simple Storage Service(Amazon S3) オンラインストレージ・サービス • AWSのもう1つの中核サービス • 月々$0.0300 /GB。 • 1TB保存で、3000円強。 • 容量無制限。(お金があれば) • 他にもAPIリクエスト料も必要。 • 99.999999999%の堅牢性
  17. 17. Amazon Simple Queue Service(Amazon SQS) プル型のキュー・サービス • 最古のAWSサービス  (2004年サービス開始) • 疎結合アーキテクチャの肝  (サービス間連携に大活躍) • 低コスト  (月間無料枠&非常に低価格な従量課金制) 参照:Amazon Simple Queue Service(SQS)の使い方 http://d.hatena.ne.jp/dkfj/20130205/1360076804
  18. 18. デモ
  19. 19. ユースケース
  20. 20. EC2を単純に並べる • 複数のリソース、IPアドレスを同時に利用できる • 1台×10時間でも、10台×1時間でも料金は同じ ! AWSでスポットインスタンスの活用 $0.0031×50台≒約16円
  21. 21. EC2の処理結果をS3に集約する • EC2が集めたデータを、S3に保存する • 集計結果をデータベースに保存するのもあり
  22. 22. SQSを利用して、ジョブ制御 • 複数台のEC2をコントロールするのは、面倒くさい • EC2内のプログラムは、SQSから指令を受けるよう作る • キューをコントロールすることで、EC2を操作できる
  23. 23. 注意点
  24. 24. 巡回先サイトに配慮する • 1秒ルール • 同一サイトを対象にする場合は、多重度をあげない • Robots.txtの尊重 • 動的サイトの場合は、特に注意  (動的サイトで中小システムであれば、秒あたりの処理件数は20~30件くらい)
  25. 25. まとめ ! ‣ AWSは、個人でも使える ‣ クローラー作成/スクレイピングとの相性よし ‣ 取得先サイトに迷惑をかけないように
  26. 26. ご清聴ありがとうございました 後日の質問は、@dkfjまで

×