Recherchez les liens rompus derrière un mur de connexion

Otineb

Recherchez les liens rompus derrière un mur de connexion


Je recherche un outil similaire au vérificateur de liens du W3C qui affichera tous les liens brisés DERRIÈRE UN MUR DE CONNEXION.

Actuellement, je me connecte et ouvre la console développeur de Chrome pour inspecter les erreurs. C’est à la fois fastidieux et sujet aux erreurs. J’aimerais transmettre quelques informations d’identification à un service et le faire explorer régulièrement le site.

Quelqu’un connaît-il un tel service? Mon utilisation initiale consistera à rechercher des liens d’image cassés sur une vitrine interne de l’entreprise.

unor

Il doit s’agir d’une application Web hébergée, ou un client de bureau ou une application Web auto-hébergée conviendrait-il également?

Réponses


 Steve Barnes

D’abord un mot d’avertissement, vous devriez idéalement demander à l’administrateur du site un nom d’utilisateur et un mot de passe pour un utilisateur de test afin de ne pas exiger l’utilisation de votre propre nom d’utilisateur et mot de passe dans les scripts de test. Alternativement, si le site permet l’inscription, vous devez enregistrer un nom d’utilisateur, un mot de passe et un e-mail de test.

Une fois que vous avez fait cela, vous pouvez configurer la marche sur le site et vérifier les liens à l’aide de python et de scrapy ou éventuellement de requêtes . Les deux peuvent gérer le travail sur des sites qui nécessitent une connexion.

Je recommanderais d’inviter l’utilisateur à saisir le nom d’utilisateur et le mot de passe (une fois) et à les stocker dans des variables d’environnement pendant la durée de la session pourrait être une bonne pratique de sécurité.

Exemples de gratter un site qui nécessite une connexion

Scrapy

De la documentation .

 import scrapy class LoginSpider(scrapy.Spider): name = 'example.com' start_urls = ['http://www.example.com/users/login.php'] def parse(self, response): return scrapy.FormRequest.from_response( response, formdata={'username': 'john', 'password': 'secret'}, callback=self.after_login ) def after_login(self, response): # check login succeed before going on if "authentication failed" in response.body: self.logger.error("Login failed") return # continue scraping with authenticated session... 

Demandes

 r = requests.get('https://api.github.com/user', auth=('user', 'pass')) # You now need to check for a successful login and start to walk the site checking the links. 

L’autre mise en garde est que certains sites s’appuient fortement sur JavaScript pour (re) générer des liens – dans ce cas, vous devrez utiliser PhantomJS et Selenium , pour générer puis analyser ces liens.

un CVn

Java! == Javascript

 

#de, connexion, derrière, Les, liens, mur, recherchez, rompus, un

 

elle.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *