Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takuro Sasaki
26,036 views
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
Read more
43
Save
Share
Embed
Embed presentation
Download
Downloaded 48 times
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
Keycloak & midPoint の紹介
by
Hiroyuki Wada
PDF
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
by
Amazon Web Services Japan
PDF
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
PPTX
Kinesis Firehoseを使ってみた
by
dcubeio
PDF
AWS EC2 Eメール制限解除 - 逆引き(rDNS)設定 申請手順
by
Amazon Web Services Japan
PDF
AWS Black Belt Techシリーズ Amazon EMR
by
Amazon Web Services Japan
PDF
Scapyで作る・解析するパケット
by
Takaaki Hoyo
PDF
AbemaTVの動画配信を支えるサーバーサイドシステム
by
yuichiro nakazawa
Keycloak & midPoint の紹介
by
Hiroyuki Wada
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
by
Amazon Web Services Japan
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
Kinesis Firehoseを使ってみた
by
dcubeio
AWS EC2 Eメール制限解除 - 逆引き(rDNS)設定 申請手順
by
Amazon Web Services Japan
AWS Black Belt Techシリーズ Amazon EMR
by
Amazon Web Services Japan
Scapyで作る・解析するパケット
by
Takaaki Hoyo
AbemaTVの動画配信を支えるサーバーサイドシステム
by
yuichiro nakazawa
What's hot
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
CTF for ビギナーズ バイナリ講習資料
by
SECCON Beginners
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PDF
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
PDF
CTF for ビギナーズ ネットワーク講習資料
by
SECCON Beginners
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
PDF
JP1/AJS2オペレータ勉強会
by
mizuky fujitani
PDF
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
PDF
Akkaとは。アクターモデル とは。
by
Kenjiro Kubota
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
by
NTT DATA Technology & Innovation
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PPTX
Keycloak入門
by
Hiroyuki Wada
PPTX
CloudFront経由でのCORS利用
by
Yuta Imai
PPTX
Helidon 概要
by
オラクルエンジニア通信
PDF
犬でもわかる公開鍵暗号
by
akakou
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
マイクロにしすぎた結果がこれだよ!
by
mosa siru
CTF for ビギナーズ バイナリ講習資料
by
SECCON Beginners
暗号技術の実装と数学
by
MITSUNARI Shigeo
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
CTF for ビギナーズ ネットワーク講習資料
by
SECCON Beginners
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
JP1/AJS2オペレータ勉強会
by
mizuky fujitani
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
Akkaとは。アクターモデル とは。
by
Kenjiro Kubota
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
by
NTT DATA Technology & Innovation
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
Keycloak入門
by
Hiroyuki Wada
CloudFront経由でのCORS利用
by
Yuta Imai
Helidon 概要
by
オラクルエンジニア通信
犬でもわかる公開鍵暗号
by
akakou
Similar to AWS Lambdaで作るクローラー/スクレイピング
PDF
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
by
Amazon Web Services Japan
PDF
ScrapyとPhantomJSを用いたスクレイピングDSL
by
Masayuki Isobe
PDF
Clojure
by
yshigeru
PDF
Rubyで始めるWebスクレイピング
by
Takuro Sasaki
PDF
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
by
Takuro Sasaki
PDF
JAWSUG architecture-crowler
by
Takuro Sasaki
PDF
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
by
maebashi
PDF
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
PDF
MongoDB on AWS
by
Ryuji Tamagawa
PDF
エコなWebサーバー
by
emasaka
PDF
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
PDF
長いの
by
emasaka
PDF
Isomorphic web development with scala and scala.js
by
TanUkkii
PDF
Rubyによるお手軽分散処理
by
maebashi
PDF
Rubyで作るクローラー Ruby crawler
by
Takuro Sasaki
KEY
P2Pって何?
by
Junya Yamaguchi
PDF
JAWS-UG-Kyoto-2nd
by
Tatsuru Watanabe
KEY
2012-09-09.nagoyapm07
by
IWATA Susumu
PDF
20111215 12 aws-meister-sqs_sns_sdb-public
by
Amazon Web Services Japan
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第9回授業-Web公開用
by
Ruo Ando
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
by
Amazon Web Services Japan
ScrapyとPhantomJSを用いたスクレイピングDSL
by
Masayuki Isobe
Clojure
by
yshigeru
Rubyで始めるWebスクレイピング
by
Takuro Sasaki
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
by
Takuro Sasaki
JAWSUG architecture-crowler
by
Takuro Sasaki
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
by
maebashi
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
MongoDB on AWS
by
Ryuji Tamagawa
エコなWebサーバー
by
emasaka
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
長いの
by
emasaka
Isomorphic web development with scala and scala.js
by
TanUkkii
Rubyによるお手軽分散処理
by
maebashi
Rubyで作るクローラー Ruby crawler
by
Takuro Sasaki
P2Pって何?
by
Junya Yamaguchi
JAWS-UG-Kyoto-2nd
by
Tatsuru Watanabe
2012-09-09.nagoyapm07
by
IWATA Susumu
20111215 12 aws-meister-sqs_sns_sdb-public
by
Amazon Web Services Japan
法政大学情報科学部 2012年度コンピュータネットワーク-第9回授業-Web公開用
by
Ruo Ando
More from Takuro Sasaki
PDF
Swaggerで始めるモデルファーストなAPI開発
by
Takuro Sasaki
PDF
サイト/ブログから本文抽出する方法
by
Takuro Sasaki
PDF
Lambda認証認可パターン
by
Takuro Sasaki
PDF
JAWSUG Kansai Simple Workflow Service (SWF)
by
Takuro Sasaki
PDF
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
by
Takuro Sasaki
PDF
JAWSUG Osaka S3 CloudSearch
by
Takuro Sasaki
PDF
Jawsug chiba API Gateway
by
Takuro Sasaki
PDF
Rubyで操るAWS 第67回Ruby関西 勉強会
by
Takuro Sasaki
PDF
DevLove Kansai AWS
by
Takuro Sasaki
PDF
第8回JAWSUG大阪 AWSの事例/課金について
by
Takuro Sasaki
PDF
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
by
Takuro Sasaki
PDF
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
by
Takuro Sasaki
PDF
Innovation eggcloudnative
by
Takuro Sasaki
PDF
Jawsug osaka10 service®ions
by
Takuro Sasaki
PDF
JAWS-UG初心者支部 AWS書籍活用術
by
Takuro Sasaki
PDF
JAWSUG初心者支部 AWSの勉強の仕方
by
Takuro Sasaki
PDF
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
by
Takuro Sasaki
PDF
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
by
Takuro Sasaki
PDF
Crawler for Non engineer
by
Takuro Sasaki
Swaggerで始めるモデルファーストなAPI開発
by
Takuro Sasaki
サイト/ブログから本文抽出する方法
by
Takuro Sasaki
Lambda認証認可パターン
by
Takuro Sasaki
JAWSUG Kansai Simple Workflow Service (SWF)
by
Takuro Sasaki
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
by
Takuro Sasaki
JAWSUG Osaka S3 CloudSearch
by
Takuro Sasaki
Jawsug chiba API Gateway
by
Takuro Sasaki
Rubyで操るAWS 第67回Ruby関西 勉強会
by
Takuro Sasaki
DevLove Kansai AWS
by
Takuro Sasaki
第8回JAWSUG大阪 AWSの事例/課金について
by
Takuro Sasaki
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
by
Takuro Sasaki
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
by
Takuro Sasaki
Innovation eggcloudnative
by
Takuro Sasaki
Jawsug osaka10 service®ions
by
Takuro Sasaki
JAWS-UG初心者支部 AWS書籍活用術
by
Takuro Sasaki
JAWSUG初心者支部 AWSの勉強の仕方
by
Takuro Sasaki
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
by
Takuro Sasaki
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
by
Takuro Sasaki
Crawler for Non engineer
by
Takuro Sasaki
AWS Lambdaで作るクローラー/スクレイピング
1.
AWS Lambda Meetup
#0 Lambdaで作る クローラー/スクレイピング 2014年12月22日 NRIネットコム 佐々木拓郎
2.
✦ プロフィール ‣ NRIネットコム株式会社 ‣
Twitter: @dkfj ‣ Facebook: takuro.sasaki ‣ blog: http://blog.takuros.net/ ‣ 好きなAWSサービス: S3,SQS 自己紹介: 佐々木拓郎
3.
主にJAWSUG大阪で活動していました (東京、初進出)
4.
宣伝!! 本業と全く関係ないですが、 Rubyのクローラー本を書きました。 http://amzn.to/1lsJ5id Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
5.
NRIネットコム ✦NRIグループで主にWebビジネスを専門としている会社 ‣ Webシステムの企画・設計・開発・運用 ‣ デザインも重視していて、ディレクター・デザイナーも一杯 ‣
スマホ/タブレットも得意 ‣ もちろんAWSをはじめとするクラウドにも力を入れている
6.
AWS Lambda サーバ不要で、イベントドリブンな プログラム実行基盤 イベント キック Lambdaで実行
7.
インフラの在り方を根底から変える!! (かもしれない) 今、注目の アーキテクチャ
8.
S3 Event Notifications S3のオブジェクトに対してのイベントを検知し、 後続の処理を行う イベント Put,Post,
etc 通知 SQSキュー SNSトピック Lambda Function ()
9.
Lambdaで クローラー/スクレイピング
10.
クローラー/スクレイピング、 ご存知ですか?
11.
クローラー • Webを巡回するプログラムの総称 • ボット、スパイダー、ロボットなど様々な呼ばれ方がある •
巡回戦略を練るのが一番の仕事 • スクレイピングやストレージの機能を持つことが多い
12.
スクレイピング • 取得したHTMLなどから、データを抜き出すこと • 例えば、HTML中のAタグのリンク先を全て取得する •
正規表現派と構文解析派が存在する
13.
巡回&ダウンロード スクレイピング
14.
Lambdaクローラー全体像 1. キック 2. http リクエスト & ダウンロード
3. html保存 4. S3 Event Call 5. S3 getObject 6. Scrape LambdaCrawler parseHtml インターネット S3 クローリング部分とスクレイピング部分を実装
15.
クローラーの実装 1. キック 3. html保存 LambdaCrawler Node.jsの httpクラスを利用 AWSの s3
putObjectを利用 URL付与 2. http リクエスト & ダウンロード
16.
スクレイピングの実装 4. S3 Event
Call 5. S3 getObject 6. Scrape parseHtml S3 Eventで Lambdaファンクション の呼び出し 引数から、 該当のファイルを取得 cheerioという スクレイピング用の ライブラリを利用
17.
ソース https://github.com/takuros/lambda-crawler 解説は、こちら http://blog.takuros.net/entry/ 2014/12/14/053606
18.
実装のポイント • データダウンロード部とスクレイピング部の分離 ‣Lambdaはタイムアウトがあり、一般のバッチと違う 細かいエラー処理・例外処理をやってられない ‣
単一処理に限定すると、エラー処理がし易い(はず) 成功/失敗のどちらかに倒す • 処理間の連携方法が重要 ‣ S3 + Event Notificationだと比較的シンプルで良い ‣ Lambda Lambda連携だと、失敗時の追跡が大変(そう)
19.
いろいろ試してみた
20.
実行元のサーバ 実行の度に、違うサーバが呼ばれるのか?
21.
実験① Httpリクエストを行う処理を複数作成し、 手動で複数回実行 HttpTest HttpTest2 1. キック 54.172.104.205 -
- [21/Dec/2014:13:24:12 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.172.104.205 - - [21/Dec/2014:13:24:20 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.172.104.205 - - [21/Dec/2014:13:24:23 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.172.104.205 - - [21/Dec/2014:13:24:28 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.172.104.205 - - [21/Dec/2014:13:25:24 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 基本的には、同一のサーバで実行される模様 2. キック
22.
実験② 並行処理で、実験①のLambdaファンクションを呼び出し 10並列 10ループ 100リクエスト ParallelCall 1.
キック HttpTest HttpTest 54.173.132.200 - - [21/Dec/2014:15:57:32 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:15:57:32 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:15:57:32 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:15:57:32 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:15:57:32 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" やはり同一IP( 同一サーバ)
23.
実験③ さらに並行処理で、実験②のLambdaファンクションを呼び出し (10並列 10ループ) (10並列
10ループ) 10,000リクエスト 1. キック ParallelCall HttpTest HttpTest ParallelCall HttpTest HttpTest ParallelChainCall
24.
結果 結果として、高性能なDDosツールが出来ました ※悪用激禁!! IPアドレスの分散( 複数のサーバで実行) 54.172.104.205 -
- [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.73.201 - - [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.73.201 - - [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 54.173.132.200 - - [21/Dec/2014:16:08:31 +0000] "GET /hoge.html HTTP/1.1" 200 5 "-" "-" 分散
25.
考察 • Lambdaは、自動的にスケールアウトする • スケールアウトの時間は、数秒程度(?) •
タスクの分割と追跡性を工夫すれば、Hadoop的な使 い方もお手軽に出来るのでは? • Phantomjsと併用で、負荷計測装置も作れそう
26.
感想 Lambdaを導入するにも、 • スケジュール/ジョブ制御システムが必要な場合が多い • その部分は、現状自前で構築する必要がある •
AWSによるサービス化希望 • サードパーティのサービスが重要になるかも Ex) サーバワークス Cloud Automator NRI mPLAT
27.
おまけ 実験③の結果を、Google Analyticsで計測 Googleに怒られそう 一気に数千に跳ね上がり 北米からの攻撃
28.
おまけ 実験③のLambda側は? AWSに怒られました。 Rate Exceeded
29.
教訓 • Lambdaは、簡単に暗黒面に陥る • 強力過ぎる仕組みなので、使い方にはご注意を •
バグって無限循環したら、どうやって止めるなど? Lambdaファンクションを消せば良いとのこと
30.
免責 こちらは個人の意見で、 所属する企業や団体は関係ありません。
31.
ご清聴ありがとうございました 後日の質問は、@dkfjまで
Download