10 минут (или меньше) парсинг веб-страницы за авторизацией
Table Of Content
Предположим, вы хотите спарсить веб-сайт, который скрыт за авторизацией или логином. Как это сделать?
Для этого проекта мы будем использовать вашу учетную запись GitHub и несколько библиотек Python: Requests
и Beautiful Soup
. Я выбрал GitHub, потому что он достаточно известен большинству из нас.
1. Первые шаги
Прежде всего: импортируйте библиотеки, с которыми мы будем работать.
2. Получение данных
Нам нужно знать две вещи:1. URL
, на который будет отправлен POST-запрос (вход в систему).2. Полезная нагрузка, или данные, которые будут отправлены.
Как это сделать?1. Очистите все данные на вкладке network в инструментах разработчика и выполните вход в систему.2. Перейдите в session и сохраните запрос: щелкните правой кнопкой мыши на сессии, скопируйте, скопируйте как cURL.
Теперь вы можете вставить это на этот сайт https://curl.trillworks.com, чтобы получить запрос, написанный на Python.
И вот мы вошли в систему. Давайте запросим что-нибудь из частного репозитория, чтобы проверить.
3. Парсинг
Мы начнем использовать библиотеку Beautiful Soup. У нас уже есть содержимое нашей страницы в переменной 'result'.
Примечание: Вы также можете попробовать использовать метод prettify, но в моем случае я не буду его использовать.
Некоторые примеры парсинга, чтобы проверить, находимся ли мы на веб-сайте.
Мы находимся здесь!
Есть много других методов, которые вы можете использовать для парсинга информации с веб-сайта с помощью Beautiful Soup, но я не буду рассматривать их сегодня.
Процесс обучения иногда труден и вызывает фрустрацию, но, надеюсь, для нас (начинающих) существует множество вещей, которые вы можете делать в мире парсинга, если вы знаете основы.
Надеюсь, вам понравится этот мини-учебник!
Полезные ссылки
_Репозиторий этого проекта: _https://github.com/paulawoloszyn/Scrapping_auth
_Документация Beautiful Soup: _https://www.crummy.com/software/BeautifulSoup/bs4/doc/
6 ключевых команд для начала работы с Beautiful Soup в Python: