2017-09-24 1 views
0

J'ai un script python qui récupère les données de différents sites Web puis écrit certaines données dans des fichiers CSV.Puis-je utiliser Heroku pour scrapper des données à télécharger plus tard?

Je l'exécute tous les jours à partir de mon ordinateur local mais je voudrais le faire fonctionner automatiquement sur un serveur et éventuellement gratuitement.

J'ai essayé PythonAnywhere mais il semble que leur liste blanche m'empêche de gratter bloomberg.com. Je suis ensuite passé à Heroku, j'ai déployé mon travailleur (le script python). Tout semble fonctionner mais en regardant avec Heroku bash dans le répertoire où le script python est supposé écrire les fichiers CSV, rien ne s'affiche.

Je me suis également rendu compte que je n'avais aucune idée de la façon dont je téléchargerais ces fichiers CSV au cas où ceux-ci seraient écrits. Je me demande si je peux réellement réaliser ce que j'essaye d'accomplir avec Heroku ou si la seule façon de faire fonctionner un script python sur un serveur est de payer pour PythonAnywhere et éviter les restrictions de grattage?

Répondre

1

Le système de fichiers de Heroku est per-dyno et éphémère. Vous ne devez pas enregistrer les choses pour une utilisation ultérieure. Une alternative consiste à l'écrire dans un emplacement permanent, tel que Amazon S3. Vous pouvez utiliser la bibliothèque boto pour cela. Bien que vous ayez à payer pour le stockage et les données S3, c'est très peu coûteux.

+0

Puis-je faire la même chose avec n'importe quel fournisseur Web? ou pour une raison quelconque, seul Amazon S3 fonctionnerait avec Heroku? – user3755529

+0

À quels autres pensez-vous? S3 est la solution habituelle pour ce genre de chose, mais je suppose que Google et Microsoft ont des offres similaires. Le point est que vous voulez quelque chose qui ne facturera que pour les données que vous stockez. –

+0

Oui Amazon est une très bonne solution mais pensait si un espace web gratuit comme 000Webhost pourrait être approprié aussi .. gardez à l'esprit je suis un débutant donc probablement une question stupide – user3755529