2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Авторизация
Сообщение21.07.2018, 15:06 


21/05/16
4292
Аделаида
А как передать правильно, iifat?

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:00 


15/11/15
1080
kotenok gav в сообщении #1328047 писал(а):
Хорошо, а как понять, что там происходит при нажатии кнопки Войти?

Смотрите консоль разработчика в браузере, вкладка NetWork.

Изображение

Вообще, сначала нужно просто попробовать зайти на любую страницу без авторизации. Например, сделать поиск на сайте слова питон. И когда вы это сможете, делайте авторизацию.

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:11 


21/05/16
4292
Аделаида
gevaraweb в сообщении #1328103 писал(а):
Смотрите консоль разработчика в браузере, вкладка NetWork.

Так непонятно как передается.

-- 22 июл 2018, 01:41 --

И что такое _SART?

-- 22 июл 2018, 01:53 --

Я знаю как делать POST-запросы в питон к cgi-скриптам.

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:26 


15/11/15
1080
kotenok gav в сообщении #1328110 писал(а):
Я знаю как делать POST-запросы в питон к cgi-скриптам.

Хорошо. Поиск смогли сделать?

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:26 


21/05/16
4292
Аделаида
Какой поиск, gevaraweb?

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:29 


15/11/15
1080
kotenok gav, вот энтот:
gevaraweb в сообщении #1328103 писал(а):
Например, сделать поиск на сайте слова питон.

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:30 


21/05/16
4292
Аделаида
gevaraweb в сообщении #1328103 писал(а):
Вообще, сначала нужно просто попробовать зайти на любую страницу без авторизации.

Главная годится?

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:32 


15/11/15
1080
kotenok gav в сообщении #1328116 писал(а):
Главная годится?

Лучше поиск. Там хоть строка поиска ПОСТом передается

 Профиль  
                  
 
 Re: Авторизация
Сообщение21.07.2018, 19:37 


21/05/16
4292
Аделаида
Его в Python делать? Тогда я не знаю как.

 Профиль  
                  
 
 Re: Авторизация
Сообщение22.07.2018, 04:55 
Заслуженный участник


16/02/13
4207
Владивосток
kotenok gav в сообщении #1328068 писал(а):
ак передать правильно
Вы ждёте, что я наколочу сюда стандарт протокола http с моими комментариями? Не ждите. Не наколочу.
kotenok gav в сообщении #1328110 писал(а):
И что такое _SART?
Вам-то, стесняюсь спросить, что? Это некий параметр, который сидит в скрытом поле и должен, согласно протоколу, быть передан обратно в неизменном виде. Сервер — он знает, что это такое.
kotenok gav в сообщении #1328110 писал(а):
Я знаю как делать POST-запросы в питон к cgi-скриптам
POST-запросы делаются к http-серверу. CGI — это на стороне сервера и вам, клиенту, недоступно.

 Профиль  
                  
 
 Re: Авторизация
Сообщение22.07.2018, 08:10 


29/12/13
306
kotenok gav в сообщении #1328118 писал(а):
Его в Python делать? Тогда я не знаю как.


Само по себе не сложно. Можно так:

код: [ скачать ] [ спрятать ]
Используется синтаксис Python
#!/bin/env python3

import requests
import sys
import re
from bs4 import BeautifulSoup
from urllib.parse import urlencode


def filt_func(element):
    if element in ['\r','\n','\r\n']:
        return False
    if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
        return False
    elif re.match('<!--.*-->', str(element.encode('utf-8'))):
        return False
    return True

def main(search_query) :
    if not len(search_query):
        search_query="кротовые норы"
    else:
        search_query=search_query[0]    
   
    #заголовки начальные
    bh={'Host': 'www.twirpx.com','Connection': 'keep-alive','Upgrade-Insecure-Requests':'1','User-Agent': 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding':'gzip, deflate, br', 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4'}
    #заголовки для поиска
    bh1={'Host':'www.twirpx.com','Connection':'keep-alive','Content-Length':'210','Cache-Control':'max-age=0','Origin':'https://www.twirpx.com','Upgrade-Insecure-Requests':'1','User-Agent': 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)','Content-Type':'application/x-www-form-urlencoded','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Referer':'https://www.twirpx.com/','Accept-Encoding':'gzip,deflate,br','Accept-Language':'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4'}
    #новая сессия
    s=requests.Session()
    s.headers.update(bh)
    #получим страницу  и распарсим ее
    r=s.get('http://www.twirpx.com/')
    bs = BeautifulSoup(r.content,'html.parser')
    #получим значение поля __SART оно дальше передается в запросе
    SART=bs.find("input", {"name":"__SART"})['value']
    #тело запроса
    sh={'SearchQuery':search_query,'SearchScope':'site','__SART':SART}
    #обновим заголовки на новые
    s.headers.update(bh1)
    r=s.post('https://www.twirpx.com/search/',data=urlencode(sh))
    print(r.status_code)
    #распарсим ответ
    bs = BeautifulSoup(r.content,'html.parser')
    #и уберем лишнее
    data=bs.findAll(text=True)
    lst=list(filter(filt_func, data))
    print(('\n-- '.join(str(p) for p in lst)))
    #TODO: можно добавить по аналогии и авторизацию на сайте
   

if __name__=="__main__" :

    main(sys.argv[1:])
 

Это поиск, без авторизации. Оно даже работает(у меня). Суть. Надо внимательно смотреть, что делает браузер. И делать также. И немного понимать вебтехнологии.
Ссылки про requests:
http://docs.python-requests.org/en/mast ... uickstart/
http://docs.python-requests.org/en/mast ... /advanced/

 Профиль  
                  
 
 Re: Авторизация
Сообщение22.07.2018, 10:42 


21/05/16
4292
Аделаида
Seman в сообщении #1328159 писал(а):
Само по себе не сложно. Можно так:

СПАСИБО!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group