Guest User

scrapy_nikebot

a guest
May 30th, 2020
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.43 KB | None | 0 0
  1. import scrapy
  2. from scrapy.http import FormRequest, Request, JsonRequest, Response
  3.  
  4. class NikebotSpider(scrapy.Spider):
  5.     name = 'nikebot'
  6.     #shoe example
  7.     shoe_url = ['https://www.nike.com.br/Snkrs/Produto/Air-Jordan-11-Low/153-169-211-211519']
  8.     start_urls = shoe_url
  9.  
  10. #here is to send one jason request and CRSF cookies that i see on the nike login requests network
  11.     def parse(self, response):
  12.         json_data = {'client_id':'id',
  13.                      'grant_type':'password',
  14.                      'password':'pass',
  15.                      'username':'email',
  16.                      'ux_id':'com.nike.commerce.nikedotcom.brazil.web'}
  17.  
  18.         CRSFToken = response.xpath('//*[@name="CSRFtoken"]/@value').extract_first()
  19.         return [JsonRequest(url='https://unite.nike.com.br/login?appVersion=769&experienceVersion=769&uxid=com.nike.commerce.nikedotcom.brazil.web&locale=pt_BR&backendEnvironment=identity&browser=&os=Intel%20Mac%20OS%20X%2010.13&mobile=false&native=false&visit=7&visitor=51691342-38e4-4a23-886b-e44d8f7436d3',
  20.                         cookies = {'CSRFtoken': CRSFToken},
  21.                         method = 'POST',
  22.                         data = json_data,
  23.                         callback = self.parse_GRecaptcha,
  24.                         ),
  25.                 #second request after json that request csrftoken cookies
  26.                 scrapy.Request(url='https://unite.nike.com.br/account/user/v1?appVersion=769&experienceVersion=769&uxid=com.nike.commerce.nikedotcom.brazil.web&locale=pt_BR&backendEnvironment=identity&browser=&os=Intel%20Mac%20OS%20X%2010.13&mobile=false&native=false&visit=7&visitor=51691342-38e4-4a23-886b-e44d8f7436d3&upmId=988a2a61-0b30-4a7d-a0d6-9cb90293966c',
  27.                         cookies = {'CSRFtoken': CRSFToken},
  28.                         method = 'POST',
  29.                         callback=self.parse_GRecaptcha)]
  30.  
  31. #this is the google recpatcha token that i should send in another request but dont finished yet
  32.     def parse_GRecaptcha(self, response):
  33.         captchaToken = response.xpath('//*[@id="recaptcha-token"]/@value').get()
  34.  
  35.         return [Request(url='https://www.google.com/recaptcha/api2/reload?k=6LdQqOcUAAAAAF1f-lhcaIPo9e50FAjmZdbQaQjU',
  36.                         headers ={'Referer':'https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LdQqOcUAAAAAF1f-lhcaIPo9e50FAjmZdbQaQjU&co=aHR0cHM6Ly93d3cubmlrZS5jb20uYnI6NDQz&hl=en&v=HYx6hBAtwYatsD8qzq7tXNTk&size=invisible&cb=86of0ya8gsv4'})]
Add Comment
Please, Sign In to add comment