Как спарсить сайт с авторизацией
Перейти к содержимому

Как спарсить сайт с авторизацией

Как спарсить сайт с авторизацией

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как парсером авторизироваться на сайте?

В туториале человек через инструменты разработчика смотрит запрос при регестрации со статусом 302 и методом POST, в котором у него внизу отображается данные которые он отправил (пункт Form Data), в этом пункте и есть ссылка на которую надо скидывать данные для входа

5e21ebf19271c610504976.png

5e21ec0e5698a135166466.png

У меня же если ввести корректные данные запрос 302 с методом GET и к тому же не имеет пункта Form Data

5e21f00b2b3c5294159679.png

(синие квадраты это основная ссылка по типу ):

И в низу никакого пункта Form Data нет

После этого я решил ввести неверные данные и посмотреть куда этот запрос введет, и введя их я получил запрос 301 метода POST где был пункт Form Data, в котором показывались данные которые требует сайт при авторизации

5e21f1a01184d351952485.png

Тогда я и решил взять ссылку запроса от туда и отправлять туда эти данные, и в получил вот такое в IDE :

5e21f20ed825f154372673.png

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

  • Вопрос задан более трёх лет назад
  • 6486 просмотров

1 комментарий

Простой 1 комментарий

Удалось разобарться?
Решения вопроса 1

pro100chel

SKEPTIC @pro100chel Куратор тега Python
Python && PHP Developer

Ну типо хз что у тебя там за сайт, но почти всегда можно сделать авторизацию и парсить.
Вот алгоритм действий:
1) Создаешь акк (желательно вручную, т.к. могут стоять всякие разные капчи и т.д.)
2) Авторизируешься опять же вручную и параллельно зыришь на вкладку Network в отладчике у браузера. Может не получиться, если страница перезагружается. Тогда заходишь на форму авторизации и смотришь названия полей и обработчик запроса. Может не получиться и так. Тогда скачивай какой-нибудь инструмент для отладки сайта, чтобы страница не перезагружалась и можно было бы увидеть запрос.
3) Создаешь сессию в питоне и делаешь запрос. В дальнейшем постоянно отправляешь запросы только через сессию, т.к. это почти как браузер (сессия хранит куки и прочую лабуду)

authdata = mysession = requests.session() response = mysession.post('https://example.com/reg.php', data=authdata) parsedata = mysession.post('https://example.com/catalog') //тут я делаю парсинг через сессию страницы каталога сайта, ты вписываешь свою страницу, которую хочешь спарсить

Парсинг данных с сайта с авторизацией на Python

Здравствуйте! Я новичок, пишу курсовую и пытаюсь сделать парсер на Python для сайта на котором нужно заполнить форму что бы получить данные. Пытался по разному написать сам код, проверял данные, сверялся с видеоуроками и просто информацией из интернета но так и не смог понять в чем проблема.

Код парсера у меня следующий:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
import requests from bs4 import BeautifulSoup as BS s= requests.Session() user_agent= "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36" header={ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "User-Agent": user_agent } payload={ "faculty": '1001', "teacher": "", "group": "45Бд-ПОцфт", "sdate": '01.09.2021', "edate": "31.01.2022", "n": "700" } answ=s.post("https://dekanat.zu.edu.ua/cgi-bin/timetable.cgi?n=700", headers=header, data=payload) answ_bs=BS(answ.content, "html.parser") a= answ_bs.find(".col-md-6") print(a)

В качестве ответа приходит None или [ ].
Не понимаю где я ошибаюсь, прошу укажите на это и помогите решить проблему.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Парсинг с авторизацией в Python.
Я уже научился парсить веб-страницы с помощью Python очень неплохо получается. Вопрос такого плана.

Парсинг сайта с авторизацией
Всем привет! Можете помочь решить проблему? Есть форум (ссылку дать не могу) с.

Парсинг сайта с авторизацией
Всем доброго времени суток. Необходимо пропарсить несколько страниц сайт, при этом заранее.

Парсинг сайта с авторизацией
Вот что получилось сделать по авторизации: public void ASendPost() < var.

Парсинг сайта с авторизацией через Steam
Ситуация следующая: мне нужно получить информацию с сайта, которая доступна лишь после авторизации.

Парсинг сайтов: загрузка страниц и авторизация на сайте

В этой видеоинструкции я рассказываю, как при помощи надстройки «Парсер сайтов» авторизоваться на сайте, выполнять GET и POST запросы, работать с Cookies и с браузером Internet Explorer.

Поскольку видео достаточно длинное, привожу дополнительные ссылки на это видео с переходом на соответствующие метки времени:

  • Как работает браузер при загрузке страницы (отправка и получение заголовков запроса)
  • Что такое Cookies и для чего они используются
  • Действия в программе «Парсер сайтов» для загрузки страниц сайта
  • Авторизация на сайте при помощи парсера
    • Добавление команд, выполняемых при запуске парсера, — набор действий Parser_Start
    • Вывод переменных (логин и пароль) на основную вкладку настроек

    Во вложении к статье, — файл Excel с инструкцией, показанной в этом видео.

    • Добавить комментарий
    • 19962 просмотра

    Комментарии

    Игорь (администратор сайта), 20 Июл 2022 — 11:29. #1

    Здравствуйте, Дмитрий.
    Под эти 3 сайта настроить не получится (на этих сайтах достаточно серьезная защита от роботов)
    А чтобы активации докупить — в меню программы нажмите О ПРОГРАММЕ, там есть ссылка на докупку активаций.

    Гость, 19 Июл 2022 — 20:11. #2

    Здравствуйте! Подскажите пожалуйста по стоимости настройки парсера на снятия данных статистики с геосервиса (Яндекс Карты, личный кабинет которого находиться на сервисе Яндекс Бизнес) и вообще возможно ли настроить парсер с авторизацией на яндекс бизнес, гугл бизнес и 2гис? И еще один вопрос как добавить еще один ПК к моему пакету? (ранее покупал у вас подписку на пользования вашим парсингом)

    Игорь (администратор сайта), 15 Июл 2022 — 13:58. #3

    Игорь, не могу подсказать, не зная что и как вы там настроили.
    Можем настроить под заказ, если предоставите все данные для авторизации.

    Игорь, 15 Июл 2022 — 07:45. #4

    Сложный двухступенчетый логин
    сначала user
    затем оно делает редирект получает серийник на третьем сайте и опять редирект и я ввожу пароль.
    использую IE
    Когда залогинен получаю pagination ссылки и почему то оно закрывает IE
    второй шаг не видет страницу ибо IE закрыт.
    Как предотвратить закрытие IE и удержание сессии?

    Игорь (администратор сайта), 6 Апр 2022 — 00:30. #5

    Да, Иван, через таблицу замен проще всего отфильтровать нужные

    Иван, 5 Апр 2022 — 23:16. #6

    Спасибо огромное, Игорь! Очень помогли! Все получилось)
    А то уже начал вручную нужные id брендов в POST запрос вставлять и по отдельности скачивать((
    А если мне мне все бренды нужны а только 100 из 300 например, это через таблицу замен проще всего сделать?

    Игорь (администратор сайта), 5 Апр 2022 — 07:32. #7

    Иван, немного не так подуровнями воспользовались, потому и не получилось.
    На выходе первого подуровня нужен массив ID брендов (на следующий подуровень они будут передаваться по одному. в переменную ничего сохранять не надо)
    На втором подуровне, первым действием сохраняете текущее значение в переменную ID (туда попадет очередной ID бренда), и далее делаете всё как сейчас.
    Если сами не разберётесь, — могу настроить под заказ.

    Иван, 4 Апр 2022 — 18:08. #8

    Добрый день, Игорь
    Не могу разобраться с одной вещью, если не сложно, подскажите где-то разбирался этот вопрос или нет. Настраиваю для себя парсинг товаров с личного кабинета. C POST запросом авторизации разобрался, все работает.
    В кабинете ссылки на бренды представлены на одной странице в виде раскрывающихся списков со ссылками вида a href=»#», нашел, что на странице они в виде id, получил массив ссылок и сохранил массив в переменную.
    На следующем уровне создаю POST запрос для «раскрытия» списка товаров и в действии «Добавить передаваемое POST-значение» в поле значение указываю переменную с массивом id брендов.
    Но парсер берет только первое значение из массива.
    Пробовал добавлять действие «Увеличить значение счетчика», но оно только прогружает одни и те же товары из первого по списку бренда многократно, по количеству всех брендов.
    Уже голову сломал как сделать чтобы все по очереди бренды открывались, 3 дня пытаюсь, но все никак. Надстройка естественно куплена, и не только эта.

    Олег, 9 Мар 2020 — 02:08. #9

    Доброго времени суток!
    Не получилось настроить с помощью видео «Парсинг сайтов: загрузка страниц и авторизация на сайте» парсинг телефона, который скрыт под кнопкой, с помощью POST запроса. Вместо +7 095 XXX XX XX, +7 082 XXX XX XX и т.д. теперь выдает номер в открытом виде, но всегда одинаковый, тот на который ,был настроен POST запрос. Подскажите пожалуйста где копать.
    Использовал команды:
    Открыть HTTP соединение
    Добавить заголовок запроса (несколько)
    Добавить передаваемое POST-значение
    Отправить HTTP и получить ответ
    Заранее спасибо.

    Игорь (администратор сайта), 13 Янв 2020 — 20:06. #10

    Да, всё это можно.
    По комментариям на моём сайте — пару раз слышал о проблеме такой, но пока не могу решить её (очень редко такое, и не знаю с чем связано). Попробуйте с другого браузера.

    Green Apple, 13 Янв 2020 — 07:40. #11

    Здравствуйте! Везде искал, но не нашел. На сайте с которого нужно спарсить информацию, все страницы подгружаются с помощью java script, при этом url один и тот же. Загрузка страницы за счет выбора . Возможно ли вашей программой спарсить все данные, подгружая этот java script?
    И еще. пока пытаюсь верно ввести капчу, чтобы оставить этот комментарий, проходит больше 10 минут.
    Тем временем зашел в код страницы, удалил лишние br и смог понять что написано.

    Игорь (администратор сайта), 3 Окт 2018 — 00:21. #12

    Переключение прокси будет в следующем обновлении программы (через несколько дней)
    Многопоточность давно реализована.

    Ivan, 3 Окт 2018 — 00:00. #13

    Возможно ли изменение прокси при получения определенной страницы? (капчи). Появится ли и когда?
    Планируется ли добавить многопоточность?
    Спасибо

    Игорь (администратор сайта), 16 Июл 2018 — 01:24. #14

    Это http basic authentication (она же http авторизация)
    Там передаётся в каждом запросе заголовок запроса Authorization
    со значением вида Basic aBcDeF123465==

    Посмотрите, какое значение передаётся в заголовке Authorization в браузере после авторизации,
    и добавьте в парсер (в набор действий Parser_Start) одно действие — Добавить заголовок запроса
    (с параметром Применять для всех запросов = ДА)

    Гость, 15 Июл 2018 — 15:08. #15

    Поработал с триал версии- так и не смог понять как выполнить вход на сайт если сайт закрыт простым методом ( паралем в .htacsses ) и когда появляется просто форма запроса логина и пароля . Скоро конец триала а так и не потестировал

    Игорь (администратор сайта), 7 Июн 2018 — 13:21. #16

    Здравствуйте, Наталья
    Да, можем настроить всё под заказ
    (насчёт Word — вряд ли, а вот в Excel — запросто. Если надо все же в Ворд, это дополнительный макрос надо будет заказывать, потому что парсер выводит данные только в Excel)

    Заказы на парсер (по каждому из сайтов) принимаются в таком виде
    http://excelvba.ru/programmes/Parser/order

    Гость, 7 Июн 2018 — 11:45. #17

    Добрый день! Не могу разобраться в программе, и не понимаю сможет ли она мне помочь (я в этом блондинка). Мне необходимо автоматически сгружать (собирать) конкретную информацию с нескольких сайтов (и желательно в Word, а не exel), например с сайта справочная информация с сайта росреестра об объекте недвижимости, с сайта реформа жкх данные о доме и пр. Если это возможно, то можно ли при покупке программы это чудо установить удаленно?

    Игорь (администратор сайта), 27 Янв 2018 — 16:05. #18

    Меню Дополнительно — Общие настройки программы — вкладка Captcha
    Там задаётся API ключ

    Гость, 27 Янв 2018 — 15:54. #19

    ок. Понял.
    1) Напишите хотя бы куда нужно записать API KEY (с сайта recaptcha.com)
    2) и нужно ли делать что-то чтобы действие «решить Google Captcha v.2» видело этот API KEY?.
    Где это место в программе «в общих настройках программы нужно задать API-ключ сервиса»?
    Спасибо

    Игорь (администратор сайта), 27 Янв 2018 — 14:39. #20

    Могу настроить под заказ
    По действию «решить google captcha v.2» пока инструкции нет, а расписывать примеры её использования — времени много займет

    Гость, 27 Янв 2018 — 14:22. #21

    Спасибо. Извиняюсь за схожее сообщение (предыдущее долго не появлялось)
    Как использовать «решить google captcha v.2» в рамках предложенного в видео способа POST запросов? Т.е. как к тому что в этом видео рассказано добавить решение капчи.
    Сейчас я использую «открыть страницу в Internet Explorer», при помощи чего авторизуюсь, но парсер работает очень медленно, плюс по непонятным причинам он пропускает порой страниц по 20 — 50 (при том что у меня всего 300 страниц, с которых надо собрать ссылки)

    Гость, 27 Янв 2018 — 14:12. #22

    Здравствуйте. Нужно перед сбором данных с сайта http://www.archello.com на нем один раз авторизоваться, но во время авторизации каждый раз нужно вводить гугл капчу.
    1) способом указаным в видео не получается выполнить авторизацию. Возможно ли при помощи POST запросов авторизоваться в нашем случае ?
    2) если же нужно использовать действие «решить google captcha v.2», как его использовать в рамках предложенного в видео способа запросов?
    Сейчас я использую «открыть страницу в Internet Explorer», при помощи чего авторизуюсь, но парсер работает очень медленно, плюс по непонятным причинам он пропускает порой страниц по 20 — 50 (при том что у меня всего 300 страниц, с которых надо собрать ссылки)

    Игорь (администратор сайта), 27 Янв 2018 — 14:02. #23

    1) нет, без ввода капчи никак
    2) нет (да и зачем? специально для этого же действие сделано)
    3) без браузера и без ввода капчи — скорее всего, никак. по крайней мере, я не в курсе, как сделать

    Гость, 27 Янв 2018 — 13:05. #24

    Здравствуйте. Что делать если при авторизации на сайте каждый раз нужно вводить гугловскую рекапчу. Авторизоваться нужно только один раз в начале.
    1) Решить это способами указыными в этом видео не получится?
    2) Возможно ли обойтись без действия «Решить Google Captcha v.2»?
    3) Каким образом авторизоваться на сайте в этом случае (если не использовать действия «открыть страницу в Internet Explorer»?

    Антон Машкин, 27 Окт 2017 — 20:37. #25

    Добрый день! Ответил Вам на почту.

    МаркетЛова, 27 Окт 2017 — 18:20. #26

    Сколько стоит парсинг Я.Маркета. По категории смартфонов.
    Определяем 10.000 топовых смартов и угоняем их цены, описание, фотки. Далее нужна будет актуализация цен на товары, которые парсер сграббил. Я так понимаю, что маркет, это не самая простая задача для парсинга, будет ли там все сделано под ключ, с обходом капч и и т.д

    Игорь (администратор сайта), 17 Окт 2017 — 13:56. #27

    Можем настроить под заказ, — обращайтесь

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *