Это пример того, как войти на целевой сайт.Для этого вам необходимо открыть браузер и изучить все данные, отправляемые на сервер.Когда вы понимаете, как это работает, вы можете написать свой собственный код.
import scrapy
from scrapy.exceptions import CloseSpider
from scrapy.spiders import CrawlSpider
class SpecialchemSpider(CrawlSpider):
name = 'specialchem'
allowed_domains = ['<DOMAIN>']
start_urls = ['https://cosmetics.<DOMAIN>/login']
custom_settings = {'ROBOTSTXT_OBEY': False}
def parse(self, response):
inputs = response.css('form input')
formdata = {'Iid': '',
'Password': 'SECRET',
'User': 'EMAIL',
'Popin': '1'}
return scrapy.FormRequest(
'https://cosmetics.<DOMAIN>/services/LoginService.ashx',
formdata=formdata,
callback=self.after_login
)
def after_login(self, response):
if 'OK' not in response.text:
raise CloseSpider('Wrong login or password. Or you was blocked.')
url = 'https://cosmetics.<DOMAIN>/product/i-eastman-chemical-company-eastman-aq-38s-polymer'
return scrapy.Request(url, callback=self.product)
def product(self, response):
pass
Он будет работать, когда вы замените DOMAIN, SECRET и EMAIL на правильный.