Amazon LambdaでBeautifulSoupとSelenium Webdriverを実行したいのですが、私の実行環境はpython 3.6です。実行することは可能ですか?実行できる場合はどうすればよいですか?私の目的は、美しいスープを使用してWebページからデータをスクラップすることです4およびSelenium(JavaScriptによって動的に生成されたデータをスクラップする必要があるため)。
はい、可能です。ヘッドレスChromeバイナリとchromedriverを、必要なすべてのPythonパッケージとともにパッケージ化する必要があります。また、SeleniumのChrome Webドライバーでいくつかのオプションを設定して、機能させる必要があります。
私は ステップバイステップチュートリアル を書いて、それをデプロイしようとする苛立たしい数週間を費やしました。
標準ライブラリの外部で依存関係を使用する場合は、 展開パッケージ を作成してLambdaにアップロードする必要があります。
BS4とLambdaの併用について write up があります。 Lambda内でSeleniumを使用しませんでしたが、Seleniumに関する豊富な経験があります。 Lambdaを使用してブラウザー内でコマンドを実行することはできません。 Selenium Server を実行して、リモートサーバーを立ち上げる必要があります。 Webスクレイピングを実行するマシンにSeleniumとWebdriverをダウンロードし、.jar
ファイル。Seleniumが通信するマシンのポートを開きます。
ブラウザを起動してこれらのページをスクレイピングするには、おそらくWindowsを実行しているマシンが必要であることを考えると、最後にラムダはおそらく必要ありません。