2017-10-12 1 views
0

J'essaie de me connecter à un site Web en utilisant Scrapy. Je l'ai fait avec succès pour d'autres sites Web mais je semble avoir des problèmes cette fois et je ne sais pas pourquoi.Échec de la connexion Scrapy

Vous trouverez ci-joint des captures d'écran de la réponse obtenue lors de l'exécution de ce code et une inspection de la page à laquelle j'essaie de me connecter.

import scrapy                              

class iauditorSpider(scrapy.Spider):            
    name = "iauditor"               
    start_urls = ['https://app.safetyculture.io/login.html']      

    def parse(self, response):                       
     return scrapy.FormRequest.from_response(        
      response,                         
      formid = 'login-form',                      
      formdata={'email': '[email protected]',        
         'password': 'secret'},          
      callback=self.after_login                     
     )                            

    def after_login(self, response):                      
     #Check login success before continuing         
     if(b'Those details don\'t appear to be correct.' in response.body):  
      self.logger.error("Login Failed.")         
      return 

My Response, Page Inspect

Je suis connecté avec succès à d'autres sites avant avec le code presque identique, donc je suis confus pourquoi il ne fonctionne pas cette fois-ci.

Répondre

0

En bref, vous devez envoyer des en-têtes et des cookies pour vous connecter.

  1. Aller à la page de connexion
  2. Ouvrir Developer Tools et accédez à Network onglet
  3. Cliquez sur Preserve Logs ou Persist pour rendre les journaux sûrs sont conservés lorsque vous êtes redirigé vers une autre page
  4. LOGIN à ce site , et remarquez quelle demande est envoyée lorsque vous cliquez sur le bouton de connexion
  5. Maintenant, faites un clic droit dessus et cliquez sur Copy as cURL (bash)
  6. Maintenant, allez à https://curl.trillworks.com/ et collez votre commande cURL là

Voilà, maintenant vous avez le code Python exact pour effectuer la connexion.

+0

A travaillé comme un charme! Après avoir utilisé le code produit à partir de la commande cURL, j'ai été en mesure de continuer avec mon programme scrapy comme d'habitude. Merci! – SockPastaRock