<h1>Software error:</h1> <pre>DBD::mysql::db do failed: Column 'session_value' cannot be null at ../lib/ShaUser.pm line 865. </pre> <p> For help, please send mail to the webmaster (<a href="mailto:webmaster@localhost">webmaster@localhost</a>), giving this error message and the time and date of the error. </p> <!-- warning: Name "main::S" used only once: possible typo at /www/vzadache/cgi�bin/index.pl line 105. --> <!-- warning: DBD::mysql::db do failed: Column 'session_value' cannot be null at ../lib/ShaUser.pm line 865. -->
Если подключить заголовки:
headers = { 'Accept':'*/*', 'Accept-Encoding':'gzip, deflate, lzma', 'Accept-Language':'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4', 'Connection':'keep-alive', 'Content-Length':'46', 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'Cookie':'jv_visits_count_fTR4wJMXgH=1; __usid=db99b90b8464e399da31f91d92786039', 'Host':'vzadache.ru', 'Origin':'vzadache.ru', 'Referer':'vzadache.ru', 'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 OPR/36.0.2130.80', 'X-Requested-With':'XMLHttpRequest' }
И вот такой вывод:
{"success": true, "message":"Авторизация успешна, сейчас вы будете перенаправлены в личный кабинет."}
Вроде как аутентификация произведена правильно, но при загрузку следующей страницы которую нужно спарсить, опять надо авторизоваться. Как решить эту проблему?
Вот весь код:
import requests from bs4 import BeautifulSoup url = 'https://vzadache.ru/' params = {'action' : 'login', 'email' : '******', 'password' : '******'} headers = { 'Accept':'*/*', 'Accept-Encoding':'gzip, deflate, lzma', 'Accept-Language':'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4', 'Connection':'keep-alive', 'Content-Length':'46', 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'Cookie':'jv_visits_count_fTR4wJMXgH=1; __usid=db99b90b8464e399da31f91d92786039', 'Host':'vzadache.ru', 'Origin':'vzadache.ru', 'Referer':'vzadache.ru', 'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 OPR/36.0.2130.80', 'X-Requested-With':'XMLHttpRequest' } r = requests.post(url, params, headers = headers) #ht = r.json() print(r.text) #html = requests.get('https://vzadache.ru/', headers = headers) #print(html.text) #soup = BeautifulSoup(html, 'lxml') #moneys = soup.find('font', class_='mid') #print(moneys)