Question

Bien que HTML Scraping soit assez bien documenté d'après ce que je peux voir et comprendre son concept, ainsi que son implémentation, quelle est la meilleure méthode pour extraire du contenu dissimulé derrière des formulaires d'authentification. Je me réfère à la suppression de contenu auquel j'ai légitimement accès. Une méthode de soumission automatique des données de connexion est donc ce que je recherche.

Tout ce à quoi je peux penser est de configurer un proxy, de capturer le débit à partir d'une connexion manuelle, puis de configurer un script pour usurper ce débit dans le cadre de l'exécution du nettoyage HTML. En ce qui concerne la langue, cela se ferait probablement en Perl.

Quelqu'un at-il eu l'expérience de cela, ou juste une pensée générale?

Modifier Cela a été répondu auparavant mais avec .NET. Bien que cela valide la façon dont je pense que cela devrait être fait, est-ce que quelqu'un a un script Perl pour le faire?

Était-ce utile?

La solution

Découvrez le WWW :: Mechanize de Perl. bibliothèque - il s’appuie sur LWP pour fournir des outils permettant d’effectuer exactement le type d’interaction auquel vous faites référence, et il peut conserver l’état grâce aux cookies lorsque vous y êtes!

  

WWW :: Mechanize, ou Mech en abrégé,   vous aide à automatiser l'interaction avec un   site Internet. Il prend en charge l'exécution d'un   séquence de recherche de page, y compris   suivant des liens et soumettant des formulaires.   Chaque page récupérée est analysée et son   les liens et les formulaires sont extraits. Un lien   ou un formulaire peut être sélectionné, champs de formulaire   peut être rempli et la page suivante peut être   allé chercher. Mech stocke également une histoire de   les URL que vous avez visitées, qui peuvent être   interrogé et revisité.

Autres conseils

Le module LWP en Perl devrait vous donner ce que vous cherchez.

Il existe un bon article ici qui parle d’activation des cookies et d’autres méthodes d’authentification pour vous obtenir un nom de connexion autorisé et permettre à votre écran de vous placer derrière le mur de connexion.

Il existe 2 types d'authentification utilisés régulièrement. Authentification basée sur HTTP et authentification par formulaire.

Pour un site qui utilise l'authentification HTTP, vous envoyez essentiellement le nom d'utilisateur et le mot de passe dans le cadre de chaque requête HTTP que vous adressez au serveur.

Pour un site qui effectue une authentification basée sur un formulaire, vous devez généralement accéder à la page de connexion, accepter et stocker le cookie, puis soumettre les informations du cookie avec toutes les requêtes HTTP que vous effectuez.

Bien sûr, il existe également des sites tels que stackoverflow qui utilisent une authentification externe telle que openid ou saml pour l’authentification. Celles-ci sont plus complexes à traiter pour la mise au rebut. Généralement, vous souhaitez trouver une bibliothèque pour les gérer.

Oui, vous pouvez utiliser d'autres bibliothèques pour votre propre langue si elles ne sont pas asp.net.

Par exemple, en Java, vous pouvez utiliser httpclient ou httpunit (qui gère même certains scripts JavaScript de base).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top