J'ai un programme qui prend des données d'un fichier Excel et le manipule pour l'utilisateur. Mais pour obtenir des mises à jour du fichier Excel, ils doivent être téléchargés à partir d'un site Web. J'ai à l'origine essayé d'utiliser la classe de robots pour accéder au site Web, connectez-vous avec nom d'utilisateur et mot de passe, puis accédez à la section correcte du site Web et trouvez le bouton indiquant "Télécharger Excel Spreadsheet" et cliquez dessus. Mais je comprends que c'est une façon horrible de le faire et ça ne marche pas toujours. Quelle est une meilleure façon de le faire afin que mon programme puisse aller sur le site Web et accéder à la page que je souhaite, puis téléchargez les données. J'ai lu sur "Scrappement de page" mais je ne pense pas que cela me permettrait de le faire. Je veux vraiment interagir avec la page Web non tellement télécharger le contenu de celui-ci. Toute aide est la bienvenue. Merci, Peter p>
3 Réponses :
Vous pouvez utiliser des demandes HTTP pour télécharger le fichier si vous connaissez l'URL. Un rapide Google a trouvé ce: http://download.oracle.com/javase /Tutorial/networking/urls/readingwriting.html Téléchargez le fichier et enregistrez sur le disque p>
Merci, j'ai sauvé le lien pour l'avenir, mais le lien que j'ai besoin de télécharger n'a pas d'URL directe que je peux obtenir sans créer d'abord de vous connecter au site Web. J'ai donc besoin d'un moyen d'interagir avec le site Web afin que je puisse me connecter et atteindre le lien
Le site Web en question propose-t-il un type d'API pour ce faire cela? Sinon, gratter est vraiment votre seule option, à part à utiliser votre solution de robot (qui, comme vous le dites, est assez horrible :)
Je n'ai pas compris que nous utilisons maintenant pour télécharger le fichier Excel. Je peux vous offrir les solutions suivantes: p>
Je pense que cela devrait vous aider ... p>
Si vous avez besoin d'interagir avec le site Web, Selenium / WebDriver est parfait pour vos besoins:
http://code.google.com/p/selenium/wiki/getingtingttingstarted p>
Exemple de recherche Google: p>
S'il y aurait un moyen d'accomplir cela sans montrer à l'utilisateur ce qui se passe? Comme dans le navigateur ne s'ouvrirait jamais mais tout serait encore fait dans les coulisses?
Assurez-vous d'utiliser un navigateur sans tête comme Phantomjs ou démarrez un navigateur en mode sans tête
Je pense que ceci est un lien actuel pour selenium selenium.dev/downloads
Le site Web fournit-il une API que vous pouvez utiliser au lieu de devoir l'obtenir via un bouton Soumettre.