Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 4, 2018 07:11:27

dom
Зарегистрирован: 2018-10-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Post авторизация на сайте и пасринг данных с него.

Здравствуйте, мне нужно произвести аутентификацию на сайте, а потом спарсить определенные данные. Так вот проблема с Post авторизацией. При отправке правильного Post запроса для аутентификации вместо html сайта, вылазит ошибка mysql:

  <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/cgibin/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)

Офлайн

#2 Окт. 4, 2018 10:32:21

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Post авторизация на сайте и пасринг данных с него.

Используйте request.Session



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version