web-dev-qa-db-fra.com

Exécution de Selenium WebDriver dans Amazon Lambda Python

Je veux exécuter le pilote Web BeautifulSoup et Selenium dans Amazon lambda et mon environnement d'exécution est Python 3.6. Est-il possible de courir? si c'est le cas, comment. Mon intention est de supprimer les données d’une page Web en utilisant Beautiful Soup 4 et Selenium (car il doit supprimer les données générées dynamiquement par javascript). 

4
Sanu K yadav

Oui c'est possible. Vous devez conditionner un lecteur binaire et chromed Chrome sans tête Chrome avec tous les packages Python dont vous avez besoin. Vous devrez également définir plusieurs options dans le pilote Web Chrome de Selenium pour le faire fonctionner.

J'ai écrit un tutoriel pas à pas après avoir passé plusieurs semaines frustrantes à essayer de le déployer.

10
robroc

Vous devrez créer un package deployment et le télécharger sur Lambda si vous souhaitez utiliser des dépendances en dehors de la bibliothèque standard. 

J'ai un écrire sur l'utilisation de BS4 et Lambda ensemble. Je n’ai pas utilisé Selenium dans Lambda, mais j’ai une vaste expérience de Selenium. Vous ne pourrez pas exécuter de commandes dans un navigateur utilisant Lambda. Vous allez avoir besoin d’un serveur distant mis en marche, exécutant Selenium Server . Téléchargez Selenium et les pilotes Web de la machine sur laquelle vous souhaitez effectuer le nettoyage Web, démarrez le fichier .jar et ouvrez un port sur la machine avec laquelle Selenium communiquera. 

Considérant que vous aurez besoin d’une machine exécutant probablement Windows pour lancer un navigateur et balayer ces pages, vous n’avez probablement pas besoin de lambda à la fin. 

1
Nicholas Martinez