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. scrapy-redisを使って、redisを使ったクローリングを試し…

    2. CentOS8にTripwireのインストール

    3. CentOS7のPython3でJUMAN++のインストールと利用

    4. Elasticsearch 6 を使ったデータ検証 その2(マッピング…

    5. SumEvalというPythonのテキスト評価用のライブラリを試してみ…

    6. Google Cloud Platform を Cloud SDKで設…