Quel est le meilleur langage de grattage de l'écran?
Salut, je veux créer une application de bureau (c# prob) que des éraflures ou manipule un formulaire sur une 3ème partie de la page web. Fondamentalement, je entrer mes données dans le formulaire dans l'application de bureau, il s'en va à la 3ème partie du site web et, à l'aide du script ou quoi que dans le fond, entre mes données (incl mon login) et clique sur le bouton envoyer pour moi.Je veux juste éviter de charger le navigateur!
Ne pas l'avoir fait beaucoup (tout!) les travaux dans ce domaine, je me demandais serait un langage de script comme perl, python, ruby, etc permettez-moi de faire ce genre de? Ou tout simplement de le faire tout le grattage à l'aide de c# et de .net? Lequel est le meilleur IYO?
Je pensais script peut avoir besoin de s'accrocher dans le même script quelque chose à partir d'applications sur différentes plates-formes (par exemple, symbian mobile d'où je ne reviendrai pas être en mesure de développer en c# comme je voudrais la version de bureau).
Ce n'est pas une web app sinon je peut aussi bien utiliser le site d'origine. Je m'en rends compte tous les sons inutiles, mais l'automatisation de ce formulaire spécifique serait un réel gain de temps pour moi.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Ne pas oublier de regarder à BeautifulSoupest fortement recommandé.
Voir, par exemple, options-pour-html-de grattage.
Si vous avez besoin de sélectionner un langage de programmation pour cette tâche, je dirais
Python
.Plus directement la réponse à votre question, voir sergéun langage de script simple pour la navigation Web.
J'utilise C# pour le grattage. Voir l'utile HtmlAgilityPack paquet.
Pour l'analyse des pages, j'ai utiliser XPATH ou des expressions régulières. .NET peut facilement manipuler les cookies si vous avez besoin que.
J'ai écrit une petite classe qui encapsule tous les détails de la création d'un WebRequest, de l'envoyer, en attente d'une réponse, l'enregistrement des cookies, de la manipulation des erreurs de réseau et de retransmettre, etc. - le résultat final est que pour la plupart des situations, je peux juste appeler "GetRequest\PostRequest" et obtenez une HtmlDocument dos.
Vous pouvez essayer d'utiliser l' .NET HTML Agility Pack:
http://www.codeplex.com/htmlagilitypack
C# est plus que convenable pour votre capture d'écran besoins. .NET de la Regex fonctionnalité est vraiment sympa. Cependant, avec une telle tâche simple, vous aurez beaucoup de mal à trouver un langage qui ne veut pas faire ce que vous voulez relativement facilement. Vu que vous êtes déjà la programmation en C#, je dirais que s'en tenir à cela.
Le construit dans la fonctionnalité de capture d'écran est également de qualité supérieure.
Nous utilisons avec Groovy NekoHTML. (Notez également que vous pouvez maintenant exécuter Groovy sur Google App Engine.)
Voici quelques exemple, exécutable, code sur la Keplar blog:
Mieux la veille concurrentielle par le biais de grattage avec Groovy
OMI Perl intégré dans l'expression régulière de la fonctionnalité et la capacité de manipuler du texte en ferait un très bon candidat pour la capture d'écran.
Ruby est assez grand !...
essayez ses hpricot/mécaniser
Groovy est très bonne.
Exemple:
http://froth-and-java.blogspot.com/2007/06/html-screen-scraping-with-groovy.html
Groovy et interface htmlunit est également un très bon match:
http://groovy.codehaus.org/Testing+Web+Applications
Interface htmlunit permettra de simuler un navigateur complet avec support Javascript.
PHP est un bon candidat en raison de sa bonne Perl-Compatible Regex soutien et cURL bibliothèque.
HTML Agility Pack (c#)
Mozilla Parser (Java)
des problèmes d'accès à des données sur les Nœuds d'une NodeList
utiliser un for(int i=1;i<=list_size;i++) pour obtenir autour de cette
Belle Soupe (Python)
Je n'ai pas beaucoup d'expérience mais voici ce que j'ai trouvé
Je préfère Mozilla Analyseur HTML
Prendre un coup d'oeil à la HP Web de Langue (anciennement WEBL).
http://en.wikipedia.org/wiki/Web_Language
Ou un bâton avec un client web en C# et les manipulations de chaînes.
Je seconde la recommandation pour python (ou Belle Soupe). Je suis actuellement dans le milieu d'un petit grattage d'écran du projet à l'aide de python et python 3 de la manipulation automatique des choses comme le cookie d'authentification (par CookieJar et urllib) sont grandement simplifier les choses. Python prend en charge toutes les fonctions plus avancées, vous pourriez avoir besoin (comme les regexes), ainsi que d'avoir l'avantage d'être en mesure de gérer des projets de ce genre rapidement (pas trop de frais généraux dans le traitement avec un faible niveau de stuff). Il est également relativement croix-plate-forme.