У меня есть следующая форма:
[img]https:// i.sstatic.net/wMVe2.png[/img]
Мой код выглядит следующим образом:
Код: Выделить всё
LOGIN_URL1 = "https://www.partslink24.com/partslink24/user/login.do"
class PartsSpider(scrapy.Spider):
name = "parts"
login_url = LOGIN_URL1
start_urls = [
login_url,
]
def parse(self, response):
form_data = {
'accountLogin': COMPANY_ID,
'userLogin': USERNAME,
'loginBean.password': PASSWORD
}
yield FormRequest(url=self.login_url, formdata=form_data, callback=self.parse1)
def parse1(self, response):
inspect_response(response, self)
print("RESPONSE: {}".format(response))
def start_scraper(vin_number):
process = CrawlerProcess()
process.crawl(PartsSpider)
process.start()
Когда я проверяю, В ответ, который я получаю после отправки формы входа, я получаю следующую ошибку:
[img]https://i.sstatic.net /0oxxC.png[/img]
Код на их сайте, который проверяет это, выглядит следующим образом:
Код: Выделить всё
var JSSessionChecker = {
check: function()
{
if (!Ajax.getTransport())
{
alert('NO_AJAX_IN_BROWSER');
}
else
{
new Ajax.Request('/partslink24/checkSessionCookies.do', {
method:'post',
onSuccess: function(transport)
{
if (transport.responseText != 'true')
{
if (Object.isFunction(JSSessionChecker.showError)) JSSessionChecker.showError();
}
},
onFailure: function(e)
{
if (Object.isFunction(JSSessionChecker.showError)) JSSessionChecker.showError();
},
onException: function (request, e)
{
if (Object.isFunction(JSSessionChecker.showError)) JSSessionChecker.showError();
}
});
}
},
showError: function()
{
var errorElement = $('sessionCheckError');
if (errorElement)
{
errorElement.show();
}
}
};
JSSessionChecker.check();
Есть ли способ активировать сеанс перед отправкой форму?
Заранее спасибо.
ИЗМЕНИТЬ
Страница с ошибкой который я получаю, используя ответ от @fam.

Подробнее здесь: https://stackoverflow.com/questions/680 ... -in-scrapy