Найти - Пользователи
Полная версия: Авторизация на сайте с https: для парсинга раздела для авторизированых пользователей
Начало » Python для новичков » Авторизация на сайте с https: для парсинга раздела для авторизированых пользователей
1 2
ruff3d
Пробовал решать данную задачу на php cURL , авторизация проходила, но перемещаться по страничкам не могла.

Возможно есть встроенные модули для работы с cookie или еще чего? про pyCurl слышал, может есть по лучше решения, т.к. удобно было бы с модулем xmldom.

спасибо
s0rg
pyCurl - он чтобы получить данные а xmldom - чтобы распарсить, вам что нужно-то?
ruff3d
да дело в том что под py 2.7 или 3.2 pycurl не станет. Какой в данном случаи выход?
s0rg
ruff3d
да дело в том что под py 2.7 или 3.2 pycurl не станет. Какой в данном случаи выход?
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
In : import pycurl

In : pycurl
Out: <module ‘pycurl’ from ‘/usr/lib/pymodules/python2.7/pycurl.so’>

???
reclosedev
http://python-requests.org/ - всех больше нравится (с куками см. Session objects) . Вместо xmldom удобнее lxml.
ruff3d
reclosedev
http://python-requests.org/ - всех больше нравится (с куками см. Session objects) . Вместо xmldom удобнее lxml.

спасибо буду пробовать)))
ruff3d
попробовал… но проблема осталась. Не возможно пройти авторизацию, вернее даже получить страницу по ssl.
пробовал так:
import requests
try:
    r = requests.get('https://источник.ua/EDZFrontOffice/', verify=False)
    print r.content
except:
    print 'SSl'
reclosedev
ruff3d
попробовал… но проблема осталась. Не возможно пройти авторизацию, вернее даже получить страницу по ssl.
Какая проблема то, что конкретно не работает, ошибки какие? Может сайт проверяет юзер-агента и блокирует если браузером не представиться, или он POST запрос для авторизации требует. И в коде вы используете не сессию, так куки не сохранятся.

Может как-то так:
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19",}
s = requests.session(headers=headers)
r = s.get('https://источник.ua/EDZFrontOffice/', verify=False)
print r.content
ruff3d
reclosedev
ruff3d
попробовал… но проблема осталась. Не возможно пройти авторизацию, вернее даже получить страницу по ssl.
Какая проблема то, что конкретно не работает, ошибки какие? Может сайт проверяет юзер-агента и блокирует если браузером не представиться, или он POST запрос для авторизации требует. И в коде вы используете не сессию, так куки не сохранятся.

Может как-то так:
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19",}
s = requests.session(headers=headers)
r = s.get('https://источник.ua/EDZFrontOffice/', verify=False)
print r.content

дело в том что в реализации на php получить страничку удавалось… даже по ssl причем при передаче post запросов удавалось пройти авторизацию и вернуть авторизированую страницу….

если есть время можете сами попробовать . вот сайт tender . me . gov . ua
Kane
Может быть не совсем то, что Вам нужно, py3k:
import urllib.request
opener = urllib.request.build_opener()
site = opener.open('https://tender.me.gov.ua/')
data = site.read()
f = open('site.html', 'wb')
f.write(data)
f.close()

По редиректам ходит, страничка сохранится в файл
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB