Найти - Пользователи
Полная версия: Авторизация на сайте с помощью Grab
Начало » Python для новичков » Авторизация на сайте с помощью Grab
1 2
nikitc
Добрый вечер, пытаюсь авторизоваться на мой круг, через сам moikrug.ru залогиниться не получается поэтому приходиться через pda-passport.yandex.ru/passport?mode=mauth
после этого перехожу на moikrug.ru и запрашиваю содержимое страницы вот что выводит:

window.location.replace(“http\x3A\x2F\x2Fmoikrug\x2Eru\x2F\x3Fncrnd\x3D2221”); Если вы видите эту страницу, это означает что ваш браузер не поддерживает автоматическое перенаправление. Чтобы продолжить, нажмите на эту ссылку.

Кто-нибудь может подсказать как с этим бороться? заранее спасибо, прилагаю код

from grab import Grab
g = Grab(log_file='out.html')
g.go('http://pda-passport.yandex.ru/passport?mode=mauth')
g.set_input("login",  "login")
g.set_input("passwd", "***")
g.submit()
g.go("http://moikrug.ru/")
print (g.xpath_text('//*'))
lorien
Вам нужно самостоятельно обработать этот javascript-код, распарсить URL и перейти по нему.
nikitc
lorien
Вам нужно самостоятельно обработать этот javascript-код, распарсить URL и перейти по нему.
Как именно распарсить URL? пытался с помощью encode, но ничего
nikitc
И вообще если честно, я не уверен, что авторизован
Galvanize
Это js-редирект. Как уже сказал lorien, парсишь и переходишь.

import re
url = re.findall('replace\(“(.*?)”', g.response.body)
g.go(url)

питон сам преобразует хекс в нормальный вид.
lorien
> Как именно распарсить URL? пытался с помощью encode, но ничего

Прочитать статью https://mathiasbynens.be/notes/javascript-escapes
nikitc
Статья не помогла, о чем конкретно вы хотите сказать?
nikitc
Декодировал эту ссылку онлайн парсингом переходил по ней в программе выводило тоже самое
lorien
> window.location.replace(“http\x3A\x2F\x2Fmoikrug\x2Eru\x2F\x3Fncrnd\x3D2221”);
> Статья не помогла, о чем конкретно вы хотите сказать?

Я хочу сказать, что у вас есть HTML, в котором есть URL. И в нём некоторые символы закодированы. Я вам дал ссылку на документ, где рассказывается, каким образом в java script могут кодироваться различные символы. В частности, как понять запись “\x3A”
nikitc
Это понятно, но при переходе через эту ссылку мне выводиться это же сообщение. Есть какие-то еще виды авторизации?
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