AWSのLambdaでScrapyを動かす その2 - S3からの値の取得 - 株式会社CoLabMix

AWSのLambdaでScrapyを動かす その2 - S3からの値の取得 –

前回ではAWS LambdaでScrapyを動かす設定を行いました。

★関連記事
AWSのLambdaでScrapyを動かす その1

前回の記事の設定の中ではトリガーなどと実際のクローリングに関連性はありませんでした。

今回は「S3にアップロードしたファイルにクローリングのURLを含める」という動作を行います。

 

クローリング処理

基本的な設定は前回のままです。

今回、S3にアップロードするファイルは以下のようになります。

 

Lambdaにアップロードするデプロイパッケージの「lambda_function.py」は以下のようにします。

S3のファイルをCSVで読み込み「start_urls」という配列にURLを入れています。

ポイントはプロセスで起動しているScrapyに対して「start_urls=start_urls」という引数で値を渡していることです。

Class内の「start_urls = []」は値が初期化されてしまうので外しておきます。

 

こちらでトリガーを起動させます。

 

こちらでLambdaが起動されるとCloudWatchでログが確認できます。

 

Webサーバ側のログは以下のように出ていました。

一度の起動ですので接続元のIPは同じになるようです。

こちらでかなり幅を持たせたLambdaでのクローラーを作ることができるようになりました。

 

★関連記事
AWSのLambdaでScrapyを動かす その1
AWSのLambdaでScrapyを動かす その3 - dynamodbからの取得・保存 –

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. AWS CLIのインストールについて(Ubuntu 16.04.4)

    2. AWS Lambdaをpython-lambda-localとlamb…

    3. terraform構築手順〜DynamoDB編〜

    4. [Rails] SJISのエクスポートでの「ActionView::T…

    5. さくらVPS の CentOS7 サーバに Elasticsearch…

    6. autditbeatをcentos7にインストールして監査ログをとって…