• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Парсинг с помощью requests, Python

Ali_Pythonist

Member
21.02.2024
8
0
BIT
76
Меня недавно заинтересовала такая вещь, как парсинг сайтов, через некоторое время освоил парсинг с авторизацией на сайте, и потом поставил себе цель запарсить собственную почту mail.ru, и столкнулся с тем, что через requests это сделать сложно начал искать как это сделать в интернете, но ответа как это сделать именно через requests не нашёл, если кто то разбираться в этом, можете дать обратную связь? И возможно, ли это сделать вообще через requests, и как.
 

Богда

Green Team
09.12.2023
35
2
BIT
305
Мне больше интересно , можно ли обойти всякие Anti-DDOS интеграции на сайте , при том же парсинге , в моем случае краулинг и сбор инфы , блокируется все. На сайте стоит интеграция QRATOR , наша российская разработка. Пару раз на запрещенные страницы зайдешь и бан по IP ..
 

f22

Codeby Academy
Gold Team
05.05.2019
1 837
225
BIT
996
Авторизоваться, и спарсить, с аккаунта любое сообщение.
Для таких целей лучше использовать не http протокол, а гораздо более адаптированный для таких задач pop3 или smtp - они как раз предназначены для получения и отправки почты.
 

larchik

Администратор
07.06.2019
370
418
BIT
191
Полагаю, что ТС хочет сделать запрос к веб-странице на mail.ru (конкретно к любому входящему письму) и получить ответ в виде html-кода, распарсить этот код и вытащить из него само письмо.
Но у него не получается по той причине, что в html нет этого письма, хотя в браузере оно отображается.

@Ali_Pythonist, для понимания проблемы советую проделать следующее:
1. Открыть в браузере любое входящее письмо на mail.ru (в данном случае firefox, но в других браузерах примерно также)
2. Затем просмотреть исходный код страницы через контекстное меню (пункт меню "Исходный код страницы"):

1709930733855.png


3. Просмотреть код страницы через веб-инспектор (пункт меню "Исследовать"):

1709930780416.png


4. Увидеть разницу.

В первом случае ты не увидишь своего письма в исходнике, а во втором увидишь.
Дело в том, что когда загружается страница в веб-приложении, чаще всего контент на ней формируется динамически с помощью javascript. Это твое письмо подгружается туда после загрузки основного кода (который ты видишь через пункт меню "Исходный код страницы").
И когда в python ты делаешь запрос к этой странице с помощью библиотеки requests, в ответ тебе приходит именно основной код, каркас. Без того, что позже должно загрузиться с помощью скриптов js.
Для решения проблемы предлагаю гуглить в сторону DOM. Вообще ознакомься с этим понятием сначала, потом уже гугли, как с помощью python получить DOM веб-страницы.

P.S. Если задача стоит просто получить почту с помощью python, то лучше конечно использовать предназначенные для этого протоколы, как советовали выше.
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!