Ваш код совершенно неверный
Открыть https://app.thecoachingmanual.com/login, Открыть DevTools
и нажать на вкладку Network
, затем проверить Preserve logs
Посмотрите, на какой URL-запрос идетотправлено, а также проанализируйте Form Data
, чтобы увидеть, какие поля отправляются
from scrapy.http import FormRequest
import logging
class QuotesSpider(Spider):
name = 'quotes'
headers = {
'origin': 'https://app.thecoachingmanual.com',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', #NOTICE THIS
'accept': 'application/json, text/javascript, */*; q=0.01',
'referer': 'https://app.thecoachingmanual.com/',
'authority': 'api.thecoachingmanual.com',
'dnt': '1',
}
def start_requests(self):
data = '{"emailAddress":"test@gmail.com","password":"test"}'
yield FormRequest('https://api.thecoachingmanual.com/commandapi/auth/login',
callback=self.login,
headers=self.headers,
formdata=data,
)
def login(self, response):
logging.info(response.status)
logging.info(response.text)