Большинство API могут сканировать и скрейпить публичные страницы в Интернете, которые не требуют входа в систему. Но что делать, если вам нужно получить доступ к данным, скрытым за логином? Есть ли у вас какой-либо вариант?

В этой статье мы покажем вам уникальный способ извлечения ваших сеансовых cookie-файлов из сеанса входа в систему и передачи их в API, что позволит ему войти на веб-сайт и извлечь необходимые вам данные. Процесс может показаться сложным, но дайте ему шанс и посмотрите, как Crawlbase может упростить для вас весь процесс - увидеть это в действии.

Содержание

  1. Сложность аутентификации при веб-скрапинге

  2. Введение в аутентификацию

  3. Что такое сеансовые файлы cookie?

  4. Как извлечь файлы cookie из браузера

  5. Аутентифицированный скрапинг с использованием библиотеки Python Requests

  6. Скрапинг позади входа с использованием Crawlbase

  7. Лучшие практики по парсингу сайтов, защищенных авторизацией

  8. Часто задаваемые вопросы (FAQ)

Сложность аутентификации при веб-скрапинге

Веб-сайты используют системы аутентификации для защиты пользовательского контента. В отличие от публичных страниц, вы не можете просто отправить запрос GET и ожидать извлечения значимых данных. Эти частные или защищенные страницы используют различные методы аутентификации, включая учетные данные для входа, файлы cookie сеанса, токены, информацию для входа и иногда многофакторная аутентификация.

Плюс, большинство веб-сайтов в наши дни серьезно относятся к блокировке ботов и скраперов. Такие вещи, как определение того, когда вы не настоящий человек, ограничивая скорость выполнения запросов, напрямую блокируя ваш IP-адрес или постоянно меняя свои токены безопасности. Многие сайты также отслеживают и блокируют подозрительные IP-адреса, чтобы предотвратить несанкционированный доступ.

Если вам нужно извлечь контент, для доступа к которому требуется авторизация, у вас есть два основных варианта для вашего целевого веб-сайта:

• Создайте скрипт, который может самостоятельно входить в систему для сбора данных с веб-сайта, научив его заполнять форму входа и поддерживать состояние входа в систему, пока он получает то, что вам нужно.

• Выполните вход в систему самостоятельно в обычном браузере, а затем скопируйте эти сеансовые cookie-файлы в свой скрипт для скрапинга, чтобы веб-сайт думал, что это вы.

Crawlbase позволяет вам передавать ваши сеансовые куки в API, позволяя ему входить на веб-сайт перед извлечением контента. Эта функция полезна, когда вам нужно скрейпить веб-сайты, требующие аутентификации, такие как платформы вроде Amazon. Некоторые страницы, такие как обзоры продуктов, теперь требуют, чтобы пользователи входили в систему для их просмотра. Это также полезно для доступа к контенту на сайтах социальных сетей, таких как Facebook, включая закрытые группы или профили пользователей, которые не являются общедоступными.

Введение в аутентификацию

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

Типичный подход подразумевает отправку HTTP-запросов на страницу входа, как это сделал бы обычный пользователь. Используя библиотеку запросов Python, вы можете программно заполнить форму входа и отправить ее с помощью запроса POST. Это означает, что вам нужно будет проверить страницу входа, чтобы определить точные требуемые поля, такие как имя пользователя, пароль и иногда скрытые поля, чтобы вы могли включить их в полезную нагрузку учетных данных входа.

Для этого откройте страницу входа в браузере и используйте инструменты разработчика браузера для проверки HTML-кода. Найдите форму входа, запишите названия полей ввода и найдите URL-адрес отправленной формы. Эта информация имеет решающее значение для правильного создания ваших запросов POST. После того, как вы соберете эти данные, вы можете использовать библиотеку запросов для отправки данных входа и установления сеанса аутентификации, что позволит вам извлекать данные со страниц, которые в противном случае были бы заблокированы за логином.

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

Что такое сеансовые файлы cookie?

сессия печенье являются типом временных файлов cookie, которые сохраняются в вашем браузере при входе на веб-сайт. Это небольшие фрагменты данных, которые отвечают за определение того, вошел ли пользователь в систему и имеет ли он право доступа к защищенному контенту. Эти данные обычно истекают, когда вы закрываете браузер, или иногда эти файлы cookie автоматически истекают по истечении определенного периода.

Без этих файлов cookie веб-сайты не смогут идентифицировать пользователя и запомнить, аутентифицирован он уже или нет. Вам придется снова и снова входить в систему, что было бы не очень практично.

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

Короче говоря, сеансовые файлы cookie являются ключом к разблокировке личных или пользовательских данных на многих веб-сайтах. Как только вы научитесь извлекать и повторно использовать их, вы сможете получить доступ к данным, которые обычно скрыты за логином.

Далее давайте рассмотрим, как можно получить сеансовые cookie-файлы с помощью браузера.

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

Всегда придерживайтесь ответственных методов извлечения данных при работе с сеансовыми файлами cookie, чтобы соблюдать условия использования веб-сайта и требования законодательства.

Как извлечь файлы cookie из браузера

Существует несколько способов извлечения файлов cookie из вашего браузера, от простых до экспертных. От использования надстроек браузера до использования инструментов автоматизации, таких как Selenium. В этом случае мы предоставим один из самых простых способов извлечения файлов cookie сеанса, который мы будем использовать позже для извлечения данных со страниц, требующих входа в систему.

Обратите внимание, что этот метод может иметь свои риски, поскольку он требует входа в систему с использованием вашей учетной записи для извлечения файлов cookie из браузера. Мы советуем вам использовать фиктивную учетную запись и понимаем, что цель этого руководства — исключительно образовательная.

  • Шаг 1: Начните с запуска браузера, например Google Chrome, Mozilla Firefox или Microsoft Edge.

  • Шаг 2: Зайдите в Facebook, введите свои учетные данные и войдите в систему, как обычно. Подождите, пока вы войдете в систему и увидите свою новостную ленту или профиль.

  • Шаг 3: Щелкните правой кнопкой мыши по пространству на странице, затем выберите «Проверить» или «Проверить элемент». Это откроет инструменты разработчика вашего браузера, известные как DevTools.

  • Шаг 4: В верхней части окна DevTools вы увидите несколько вкладок с надписями «Элементы», «Консоль», «Сеть» и т. д. Нажмите на Cеть.

  • Шаг 5: Когда вы впервые открываете вкладку «Сеть», она может быть пустой. Нажмите F5 (или кнопку перезагрузки), чтобы обновить страницу. После перезагрузки страницы вы увидите список сетевых запросов на панели «Сеть».

  • Шаг 6: Найдите первый сетевой запрос в списке. Щелкните по этой записи, чтобы увидеть подробную информацию об этом запросе.

Изображение, отображающее панель «Сеть» в интерфейсе инструментов разработчика Chrome.
  • Шаг 7: Выбрав сетевой запрос, найдите Файлы or Заголовки подвкладка, обычно справа от DevTools. Вы можете найти «Cookies» как отдельную вкладку, или вам может потребоваться прокрутить заголовки ответа, чтобы найти раздел с надписью «Cookie» под «Request Headers».
Изображение раздела «Файлы cookie» в инструментах разработчика Chrome.
  • Шаг 8: Теперь вы должны увидеть список имен и значений cookie, связанных с вашим сеансом. Скопируйте соответствующие значения cookie. Найдите c_user и xs файлы cookie, которые Facebook часто использует для управления сеансом.

  • Шаг 9: Откройте текстовый редактор, например, Notepad. Вставьте скопированные значения cookie, четко обозначив их (например, c_user=[value], xs=[value]). Это ваши сохраненные файлы cookie для будущего использования.

Примечание: Эти файлы cookie позволят вашему скраперу получить доступ к личным страницам, но также могут позволить кому-то другому получить доступ к вашей учетной записи Facebook. Обязательно сохраните этот файл в безопасности и не делитесь им и не загружайте его в какие-либо публичные места.

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

Аутентифицированный скрапинг с использованием библиотеки Python Requests

Давайте задействуем наши извлеченные файлы cookie. Сначала убедитесь, что ваша среда Python полностью настроена. Установите последнюю версию Питон версию, используйте любую предпочитаемую вами IDEи установите Модуль запросов Python. После настройки среды мы можем приступить к выполнению упражнения.

Допустим, мы хотим это очистить. Страница музыки в Facebook Hashtag, и наша цель — извлечь данные с защищенных веб-страниц. Если вы попытаетесь открыть его в режиме Chrome Incognito (без входа в свою учетную запись Facebook), вы увидите страницу входа:

Изображение страницы входа в Facebook.

Мы можем попробовать очистить эту страницу вручную используя только Python, чтобы увидеть, что произойдет. Создайте файл и назовите его scraping_with_crawlbase.py, затем скопируйте и вставьте код ниже.

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
Импортировать Запросы
от запросы.исключения Импортировать ЗапросИсключения

ЦЕЛЕВОЙ_URL = "https://www.facebook.com/hashtag/music"
ЗАГОЛОВКИ = {
'принимать': 'текст/html,приложение/xhtml+xml,приложение/xml;q=0.9,изображение/avif,изображение/webp,изображение/apng,*/*;q=0.8,приложение/signed-exchange;v=b3;q=0.7',
'принять-язык': 'en-US,en',
«пользовательский агент»: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/137.0.0.0 Safari/537.36»,
'sec-fetch-mode': 'навигация',
«Печенье»: ' '
}
ИМЯ_ВЫХОДНОГО_ФАЙЛА = "выход.html"

стараться:
ответ = запросы.получить(ЦЕЛЕВОЙ_URL, заголовки=ЗАГОЛОВКИ)
ответ.raise_for_status()

html_content = ответ.текст
с открытый(ИМЯ_ВЫХОДНОГО_ФАЙЛА, "ш", кодировка="utf-8") as файл:
файл.запись(ответ.текст)

Распечатать(f"\nСтраница успешно сохранена в '{ИМЯ_ВЫХОДНОГО_ФАЙЛА}'\н")

кроме ЗапросИсключения as ошибка:
Распечатать(f"\n Не удалось загрузить страницу: {ошибка}\n")

Не забудьте заменить <cookies-goes-here> с реальными файлами cookie, которые вы ранее извлекли из своего аккаунта Facebook, и запустите код с помощью команды ниже.

1
python Scraping_with_crawlbase.py

После запуска скрипта откройте output.html file. Вы заметите, что содержимое выглядит пустым или неполным. Если вы его проверите, то увидите, что в основном это неисполненный JavaScript.

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

Итак, как нам решить эту проблему? Это то, что мы рассмотрим в следующем разделе.

Скрапинг позади входа с использованием Crawlbase

Теперь, когда мы увидели ограничения использования Python requests библиотека в одиночку. Давайте использовать Crawlbase для решения таких проблем, как рендеринг JavaScript и работа за стенами входа. Вот как это можно сделать:

  • Шаг 1: Подготовьте свой сценарий. Создайте или обновите свой scraping_with_crawlbase.py файл со следующим кодом:
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
30
31
32
33
Импортировать JSON
Импортировать Запросы
от запросы.исключения Импортировать ЗапросИсключения

API_ТОКЕН = " "
ЦЕЛЕВОЙ_URL = "https://www.facebook.com/hashtag/music"
СКРЕБОК = "facebook-хэштег"
ФАЙЛЫ COOKIE = «»»

«»»
СТРАНА = "НАС"

API_ENDPOINT = "https://api.crawlbase.com/"

параметры = {
"токен": API_ТОКЕН,
"URL": ЦЕЛЕВОЙ_URL,
"скребок": СКРЕБОК,
"печенье": ПЕЧЕНЬЕ,
"страна": СТРАНА
}

стараться:
ответ = запросы.получить(API_ENDPOINT, параметры=параметры)
ответ.raise_for_status()

json_string_content = ответ.текст
json_data = json.loads(json_string_content)
pretty_json = json.dumps(json_data, отступ=2)
Распечатать(pretty_json)

кроме ЗапросИсключения as ошибка:
Распечатать(f"\nНе удалось загрузить страницу: {ошибка}\n")
  • Шаг 2: Замените <Javascript requests token> с вашей Crawlbase JavaScript-токен. Если у вас еще нет учетной записи, Регистрация в Crawlbase для получения бесплатных запросов API.

  • Шаг 3: Замените <cookies-goes-here> с теми же файлами cookie, которые вы извлекли ранее из сеанса входа в Facebook.

Убедитесь, что файлы cookie правильно отформатированы. В противном случае, Crawlbase может отклонить их. Согласно документации по куки, правильный формат должен выглядеть так:

1
куки: ключ1=значение1; ключ2=значение2; ключ3=значение3
  • Шаг 4: Теперь запустите скрипт, используя:
1
python Scraping_with_crawlbase.py

Если все настроено правильно, вы увидите чистый вывод JSON, напечатанный в вашем терминале. Это фактический контент со страницы хэштега Facebook, который был успешно извлечен.

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
30
31
32
33
34
35
36
37
38
39
{
"исходный_статус": 200,
"статус_ПК": 200,
"URL": "https://www.facebook.com/hashtag/music",
"сложность_домена": "стандартный",
«Тело»: {
"хэштег": "",
"сообщения": [
{
"Username": "Музыка Дэйва Моффата",
"текст": «С улыбкой ты справишься. Ты не сможешь победить во всем, но ты можешь попытаться! @eraserheads_official #невада #музыка #сулыбкой #песня»,
"URL": "https://www.facebook.com/hashtag/music?__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=%2CO%2CP-R#?bee",
"датаВремя": "oSspoenrdt0iS27g8ie7lm4c2gt19779f1mpraaec87et108um8 b3,7 56g",
"лайкиКоличество": "",
"sharesCount": "",
"комментарииКоличество": "",
"ссылки": [
{
"связь": "https://www.facebook.com/hashtag/nevada?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"текст": "#Невада"
},
{
"связь": "https://www.facebook.com/hashtag/music?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"текст": "#музыка"
},
{
"связь": "https://www.facebook.com/hashtag/withasmile?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"текст": "#сулыбкой"
},
{
"связь": "https://www.facebook.com/hashtag/song?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"текст": "#песня"
}
]
}
// Примечание: некоторые результаты были опущены для краткости.
]
}
}
  • Бонусный шаг: Команда Crawlbase Сборщик данных Facebook не ограничивается только скраппингом страниц хэштегов. Он также поддерживает другие типы контента Facebook. Так что, если ваша целевая страница попадает в одну из категорий ниже, вам повезло:

    • facebook-group
    • facebook-page
    • facebook-profile
    • facebook-event

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

1
2
ЦЕЛЕВОЙ_URL = "https://www.facebook.com/hashtag/music"
СКРЕБОК = "facebook-хэштег"

Например, если вы хотите скопировать данные из закрытой группы Facebook, измените ее на что-то вроде:

1
2
ЦЕЛЕВОЙ_URL = "https://www.facebook.com/groups/examplegroup"
СКРЕБОК = "facebook-группа"

Просто замените правильный URL-адрес и соответствующий веб-скребок имя и Crawlbase обо всем остальном позаботимся.

Лучшие практики по парсингу сайтов, защищенных авторизацией

При парсинге страниц за логином помните, что вы имеете дело с конфиденциальными учетными записями, файлами cookie сеанса и более строгими правилами безопасности. Вот некоторые важные вещи, которые следует иметь в виду.

Ознакомьтесь с Условиями обслуживания сайта

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

Знайте, какие файлы cookie использовать

Для доступа к защищенным от входа страницам вам необходимо отправить правильные сеансовые куки с вашим запросом. Для Facebook наши тесты показывают, что вам нужны только следующие два куки:

  • c_user=[value]
  • xs=[value]

Этого достаточно для аутентификации вашего сеанса и загрузки фактического контента.

Однако, если вы проводите тестирование на других веб-сайтах и ​​не уверены, какие файлы cookie необходимы, вы можете просто передать все файлы cookie из сеанса входа в систему на Crawlbase API. Вы можете проверить, какие файлы cookie отправляются, используя этот тестовый URL: https://postman-echo.com/cookies

Вот пример запрос на скручивание в Postman, который отправляет файлы cookie Crawlbase API и извлекает ответ с тестового сервера Postman Echo:

Изображение, отображающее запрос Postman curl.

Это удобный способ проверить, что ваши файлы cookie правильно отформатированы и передаются.

Обработка просроченных файлов cookie

Файлы cookie входа не являются постоянными. Со временем они могут истечь или стать недействительными из-за активности учетной записи, выходов из системы или тайм-аутов сеанса.

Если вы заметили, что ваш скрапер неожиданно начал выводить страницы входа вместо ожидаемых данных. В этом случае это явный признак того, что ваши куки-файлы устарели и их нужно обновить.

Вот что вы можете сделать:

  1. Повторная аутентификация вручную - Войдите в свою учетную запись снова в браузере, получите свежие файлы cookie через DevTools и обновите их в своем скрипте. Убедитесь, что вы заменили сохраненные файлы cookie этими свежими, чтобы сохранить аутентификацию сеанса.

  2. Используйте расширение для браузера - Это Cookie-редактор инструмент позволяет легко просматривать и копировать активные файлы cookie прямо из браузера.

Автоматическое повторное использование файлов cookie

Если вы делаете несколько запросов за короткий промежуток времени и хотите, чтобы файлы cookie сохранялись между ними, вы можете использовать CrawlbaseАвтора Параметр сеанса файлов cookie. Просто присвойте любое значение (до 32 символов); это свяжет сеансовые куки-файлы от одного запроса к другому, позволяя вам поддерживать тот же сеанс и сохранять аутентификацию с использованием объекта сеанса. Это гарантирует, что последующие запросы могут использовать ту же аутентификацию без необходимости повторного входа в систему.

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

Итак, Подписаться на Crawlbase теперь для скрапинга защищенных страниц. С помощью всего одной платформы вы можете легко обрабатывать контент, отрисованный с помощью JavaScript, управлять файлами cookie и поддерживать сеансы в рамках нескольких запросов.

Часто задаваемые вопросы (FAQ)

Q1: Есть ли Crawlbase хранить мои сеансовые куки?

A. Нет, данные, отправляемые через параметр cookie, будут использоваться только для конкретного отправленного вами запроса. Crawlbase не хранит никаких данных на нашей стороне по умолчанию. Однако возможно хранить переданные вами данные, если параметры типа store и cookies_session используются.

В2: Существует ли риск блокировки аккаунта при использовании сеансовых cookie-файлов для сбора данных?

A. Да, это возможно, особенно если веб-сайт обнаруживает нечеловеческое поведение в вашем сеансе. Crawlbase не может гарантировать безопасность вашего аккаунта. Мы всегда рекомендуем использовать фиктивный аккаунт, если вам абсолютно необходимо скрапинговать данные, находясь в системе.

В3: Как обеспечить защиту токенов CSRF

А. Обрабатывать CSRF (подделка межсайтовых запросов) защиты токенов в ваших проектах веб-скрейпинга, вам сначала нужно будет извлечь токен со страницы входа. Обычно это включает отправку запроса GET на URL входа, а затем парсинг возвращенного HTML-кода для поиска токена CSRF, который часто хранится в скрытом поле ввода внутри формы. КрасивыйСуп Библиотека — популярный инструмент для анализа HTML и извлечения этих токенов.

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