mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Авторизация на Яндексе средствами программы «Парсер сайтов»

Пример списка действий для авторизации на Яндексе:

 

Действие Параметр Значение
Загрузить страницу с приёмом Cookies URL http://yandex.ru/
Создать новый экземпляр WinHttpRequest да
Кодировка веб-страницы  
 
Открыть HTTP соединение URL https://passport.yandex.ru/passport?mode=auth&from=&retpath=http%3A%2F%2Fwordstat.yandex.ru%2F&twoweeks=yes
Метод (тип) запроса POST
 
Добавить передаваемое POST-значение Параметр login
Значение сюда пишете свой логин
 
Добавить передаваемое POST-значение Параметр passwd
Значение сюда пишете свой пароль
 
Добавить передаваемое POST-значение Параметр twoweeks
Значение no
 
Отправить HTTP запрос Сохранять Cookies да
 
Получить ответ сервера Кодировка веб-страницы  
 
Загрузить ИСХОДНЫЙ КОД веб-страницы URL https://wordstat.yandex.ru/
Кодировка веб-страницы  
Загружать все страницы результатов  
Выполнять после каждой загрузки  
 

 

Первое действие, — Загрузить страницу с приёмом Cookies — требуется, чтобы получить от сайта идентификатор пользователя:
Set cookie: yandexuid = 1915505271423482584

Именно к нему потом будет привязана авторизация.

 

Далее, мы открываем POST-соединение на адрес https://passport.yandex.ru/passport?mode=auth...
и передаем туда данные (логин и пароль) при помощи действий Добавить передаваемое POST-значение

После отправки запроса (действие Отправить HTTP запрос), если логин-пароль принят Яндексом,
сайт выдает нам идентификатор сессии
Set cookie: Session_id = 3:1423482584.0.0.1423486520000:1a7Tsg:31.0|271315524.0.2|123846.703584.3Lt5CW-cq91HSDfCEMqZ064WADk

и автоматически выполняется редирект на страницу https://passport.yandex.ru/auth/finish/...
что является для нас подверждением того, что авторизация успешно выполнена.

 

После выполнения этого набора действий (его можно прописать в автоматически выполняемом при запуске парсера наборе действий Parser_Start),
мы можем выполнять загрузку произвольных страниц сайта, — и, при этом, мы будем авторизованы на сайте

(установленные Cookies программой запоминаются, и передаются при каждом запросе исходного кода веб-страницы)

 


При тестировании набор действий, справа появится информационное окно,
где можно увидеть, какие Cookies установлены сайтом, и какие редиректы были выполнены:

действия для авторизация на Яндексе

(щелкните на картинке для увеличения)

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Здравствуйте! Посоветуйте, как быть, если для авторизации нужно отправить Cookie.
Т.е. сначала нужно выполнить соединение, получить куки, и только потом следующим запросом передать логин, пароль, куки и т.д.?
У меня редирект выполняется но либо на страницу авторизации либо на главную.
Спасибо!

тут всё от конкретного сайта зависит
Иногда можно сразу отправлять POST запрос с логином и паролем,
но иногда надо предварительно получить от сайта куки с идентификатором сессии или пользователя

Так что проще предварительно прогрузить любую страницу сайта, как в описанном примере
(в этом примере во всех действиях поддерживается приём и отправка Cookies)

Здравствуйте, подскажите, пожалуйста как правильно написать запрос. На сайте есть такая форма:

<form method="get">
    <input type="hidden" value="927192" name="PIN"></input>
    <input type="submit" value="обновить"></input>
</form>

нужно получить данные, которые появятся после нажатия кнопки "обновить" (всю страницу можно).

По идее, должен сработать обычный способ загрузки страницы
(действие «Загрузить исходный код веб-страницы»)
Только к ссылке (URL) справа надо добавить ?PIN=927192

Что самое интересное - не работает. Ссылка вида DOMEN/?PIN=111111 не показывает то что надо, надо именно нажать кнопку "обновить".

Вопрос решен при консультации по скайпу
(в запросе требовалось передать заголовок Referer, чтобы всё заработало)

Подскажите, как можно сделать авторизацию единожды для всех последующих значений в столбце? А то у меня есть перечень ссылок, данные из которых я могу увидеть только после авторизации, соответственно, как я могу единожды авторизовавшись отпарсить из этого перечня нужные мне данные? А то приходится на каждую новую строку заново проходить процесс авторизации, что очень замедляет процесс и выглядит подозрительно.

В настройках парсера, идёте на вкладку ДОПОЛНИТЕЛЬНО, потом на подвкладку НАБОРЫ ДЕЙСТВИЙ,
и создаёте набор действий с названием Parser_Start
(этот набор действий будет выполняться автоматически при запуске парсера)

В нём добавляете действие «Авторизация POST запросом» (ну или как вы там авторизуетесь)

Огромное спасибо за столь оперативный ответ

Еще раз здравствуйте. Спасибо за оперативные ответы. Вопрос - при помощи каких действий можно выполнить ряд задач:
1. Парсер на странице, после сбора данных, должен нажать на кнопку "Связаться"
2. Откроектся Pop-up окно, с формой обратной связи - здесь парсер должен заполнить 3 поля
3. Далее парсер должен поставить галочку и нажать отправить
Так вот какие использовать действия, и в каком направлении искать информацию.

2й Вопрос - по какой причине при работе парсера, часть текста в html переводится на русский язык (заголовки)? Т.е. елси я на странице нажимаю ПКМ - просмотр кода страницы - html на английском языке полностью. А при работе парсера с командой "Загрузить исходный код вэбстраницы" с кодировкой direct (с другими типами кодировки не работает) чать html на русском. Поможет ли способ, освещенный у вас в статье "Добавление заголовков к HTTP запросу". Там вы пишите, что можно указать в запросе нужное местоположение (к примеру сша)

Евгений, во-первых, не надо постить коммент в статью, не относящуюся к теме вопроса.
Во-вторых, я ничем помочь не смогу, не видя конкретного сайта

По второму вопросу: что вы видите в браузере, и что видите в парсере, - это не одно и то же.
На каком языке возвращается страница - зависит от переданных сайту заголовков.
Если передавать в точности все те заголовки, какие передает браузер - то и результат будет тот же (всё на английском, или на китайском)

Можем настроить парсер под заказ.
заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____        _                _____   _     
| _ \ | | ____ ___ |___ / | |
| |_) | _ | | |_ / / _ \ |_ \ | |
| _ < | |_| | / / | __/ ___) | | |___
|_| \_\ \___/ /___| \___| |____/ |_____|
Введите код, изображенный в стиле ASCII-арт.