- Как заказать парсер сайта
- Видеоинструкции по настройке
- Возможности программы-парсера
- Действия в парсере
- Раздел «Работа с HTML»
- Раздел «Текстовые»
- Раздел «Перекодировка и форматирование»
- Раздел «Проверка и сравнение»
- Раздел «Разное»
- Раздел «Функции массива»
- Раздел «Числовые»
- Раздел «Работа с переменными»
- Раздел «Листы и книги Excel»
- Раздел «Обработка файлов из папки»
- Раздел «HTTP запрос»
- Раздел «Internet Explorer»
- Раздел «Управление парсером»
- Раздел «Веб-запросы, XML, макросы VBA»
- Недокументированные действия
- Работа с браузером (Chrome и т.п.)
- Отключенные (устаревшие) действия
- Интерфейс программы
- Использование браузера
- Ошибки при парсинге
- Вывод массива значений в одну ячейку
- Обход защиты Qrator, Incapsula и CloudFare
- Ошибка: сервер не ответил за 9 секунд
- Парсер перезаписывает данные в первой строке листа
- Невозможно запустить макрос, - нет доступа к проекту VBA
- Ошибка Compile error in hidden module
- Ошибка загрузки страницы по HTTPS (SSL Error)
- Дополнительные возможности
- Зарезервированные переменные и подстановочные коды парсера
- Кеширование страниц в парсере
- Переменные в парсере
- Обновление строк в существующей таблице при парсинге
- Переключение между наборами настроек в парсере
- Запуск мониторинга цен по расписанию
- Запуск парсера по расписанию
- Программный запуск парсера из внешнего макроса
- Доп. опции парсера (файл parser.ini)
- Наборы действий
- Прочие статьи по настройке парсера
- Коды останова парсера, и перехода на другое действие
- Плагины для парсера
- Запуск нескольких парсеров по очереди
- Обработка капчи (Captcha) в парсере
- Прокси серверы
Авторизация на Яндексе средствами программы «Парсер сайтов» |
Пример списка действий для авторизации на Яндексе:
Действие | Параметр | Значение |
---|---|---|
Загрузить страницу с приёмом 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 установлены сайтом, и какие редиректы были выполнены:
(щелкните на картинке для увеличения)
- Добавить комментарий
- 7976 просмотров
Комментарии
Не планируется обновление мануала об аторизации на Яндекс средствами парсера? Что в данном посте описано, давно не работает, очень мудрённая авторизация стала у Яндекса, а очень нужно работать с авторизацией
Спасибо Вам за ваш труд!
Возник вопрос:
Каким образом можно извлечь несколько картинок из карточки товара и они все под тегом li
Максим, все сайты (ну, или 99.9%) имеют авторизацию, основанную на Cookies
Смотрите видеоинструкцию по настройке авторизации:
http://excelvba.ru/programmes/Parser/manuals/Loading_Pages_and_Logon
А что сайт весь на скриптах, - это не помеха для парсера.
Просто настройка сложнее будет
Если сами не разберётесь, — можем настроить под заказ.
Добрый день. Сайт с которого нужно взять контент в excel работает подобно Yandex, с необходимостью авторизовыватся с помощью Cookies. В тексте страниц сайта отсутствуют гиперссылки, а все внутренние перемещения производятся посредством нажатия кнопок, тег которых начинается с
Евгений, во-первых, не надо постить коммент в статью, не относящуюся к теме вопроса.
Во-вторых, я ничем помочь не смогу, не видя конкретного сайта
По второму вопросу: что вы видите в браузере, и что видите в парсере, - это не одно и то же.
На каком языке возвращается страница - зависит от переданных сайту заголовков.
Если передавать в точности все те заголовки, какие передает браузер - то и результат будет тот же (всё на английском, или на китайском)
Можем настроить парсер под заказ.
заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order
2й Вопрос - по какой причине при работе парсера, часть текста в html переводится на русский язык (заголовки)? Т.е. елси я на странице нажимаю ПКМ - просмотр кода страницы - html на английском языке полностью. А при работе парсера с командой "Загрузить исходный код вэбстраницы" с кодировкой direct (с другими типами кодировки не работает) чать html на русском. Поможет ли способ, освещенный у вас в статье "Добавление заголовков к HTTP запросу". Там вы пишите, что можно указать в запросе нужное местоположение (к примеру сша)
Еще раз здравствуйте. Спасибо за оперативные ответы. Вопрос - при помощи каких действий можно выполнить ряд задач:
1. Парсер на странице, после сбора данных, должен нажать на кнопку "Связаться"
2. Откроектся Pop-up окно, с формой обратной связи - здесь парсер должен заполнить 3 поля
3. Далее парсер должен поставить галочку и нажать отправить
Так вот какие использовать действия, и в каком направлении искать информацию.
Огромное спасибо за столь оперативный ответ
В настройках парсера, идёте на вкладку ДОПОЛНИТЕЛЬНО, потом на подвкладку НАБОРЫ ДЕЙСТВИЙ,
и создаёте набор действий с названием Parser_Start
(этот набор действий будет выполняться автоматически при запуске парсера)
В нём добавляете действие «Авторизация POST запросом» (ну или как вы там авторизуетесь)
Подскажите, как можно сделать авторизацию единожды для всех последующих значений в столбце? А то у меня есть перечень ссылок, данные из которых я могу увидеть только после авторизации, соответственно, как я могу единожды авторизовавшись отпарсить из этого перечня нужные мне данные? А то приходится на каждую новую строку заново проходить процесс авторизации, что очень замедляет процесс и выглядит подозрительно.
Вопрос решен при консультации по скайпу
(в запросе требовалось передать заголовок Referer, чтобы всё заработало)
Что самое интересное - не работает. Ссылка вида DOMEN/?PIN=111111 не показывает то что надо, надо именно нажать кнопку "обновить".
По идее, должен сработать обычный способ загрузки страницы
(действие «Загрузить исходный код веб-страницы»)
Только к ссылке (URL) справа надо добавить ?PIN=927192
Здравствуйте, подскажите, пожалуйста как правильно написать запрос. На сайте есть такая форма:
нужно получить данные, которые появятся после нажатия кнопки "обновить" (всю страницу можно).
тут всё от конкретного сайта зависит
Иногда можно сразу отправлять POST запрос с логином и паролем,
но иногда надо предварительно получить от сайта куки с идентификатором сессии или пользователя
Так что проще предварительно прогрузить любую страницу сайта, как в описанном примере
(в этом примере во всех действиях поддерживается приём и отправка Cookies)
Здравствуйте! Посоветуйте, как быть, если для авторизации нужно отправить Cookie.
Т.е. сначала нужно выполнить соединение, получить куки, и только потом следующим запросом передать логин, пароль, куки и т.д.?
У меня редирект выполняется но либо на страницу авторизации либо на главную.
Спасибо!