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
1100
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
1100
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
1100
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
1100
kotenok gav в сообщении #1328116 писал(а):
Главная годится?

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

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


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

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


16/02/13
4214
Владивосток
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, Супермодераторы



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

Сейчас этот форум просматривают: Geen


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

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