Skip to content

Instantly share code, notes, and snippets.

@eupendra
Created November 27, 2020 07:45
Show Gist options
  • Save eupendra/93e6470f943bf9d9b06d133124c31dcd to your computer and use it in GitHub Desktop.
Save eupendra/93e6470f943bf9d9b06d133124c31dcd to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import scrapy
from scrapy import FormRequest
class LoginSpider(scrapy.Spider):
name = 'login'
start_urls = ['http://quotes.toscrape.com/login']
def parse(self, response):
token = response.xpath('//input[@name="csrf_token"]/@value').get()
data = {
'csrf_token': token,
'username': 'user',
'password': 'pwd'
}
header = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}
req = FormRequest.from_response(response,
formdata=data,
headers=header,
callback=self.after_login)
return req
def after_login(self, response):
# response.css('a:contains("Logout") ::text').get()
status = response.xpath('//a[text()="Logout"]/text()').get()
if status == "Logout":
print('Logged In')
else:
print('NOT Logged In')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment