Найти - Пользователи
Полная версия: Парсинг, requests и xhr
Начало » Python для новичков » Парсинг, requests и xhr
1
Temp
Доброго времени суток!

Задача следующая: изъятие инфы из определенной веб страницы

Пользуюсь библиотекой requests.

Насколько я понял, эта библиотека собирает не всю инфу и заставить get подождать, пока страница прогрузится полностью нельзя. Но вроде как можно обращаться напрямую к какому-то конкретному подгружаемому элементу. В моём случае наименование элемента мне известно формата xhr

Прошу подсказать, как именно к нему обращаться

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

Спасибо за уделённое время.
FishHook
Насколько я понял, эта библиотека собирает не всю инфу и заставить get подождать, пока страница прогрузится полностью нельзя.

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

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

Temp
FishHook
Понятно, спасибо за прямолинейный ответ.

Посоветуй пожалуйста js движок попроще, мне лишь нужно скомуниздить с сайта пару кусочков текста.
FishHook
Temp
Понятно, спасибо за прямолинейный ответ.

Посоветуй пожалуйста js движок попроще, мне лишь нужно скомуниздить с сайта пару кусочков текста.

я персонально ничего посоветовать не смогу потому что парсингом сайстов не занимаюсь, вот вообще не занимаюсь, поэтому я не знаю
robisho
с js работать могут selenium, requests-html, pypeteer
и, чтобы два раза не вставать, судя по скрину, вы не туда смотрите в devtools. для парсинга страницы нужно смотреть вкладку Элементы, а не Сеть.
py.user.next
Temp
В моём случае наименование элемента мне известно формата xhr
Temp
Прошу подсказать, как именно к нему обращаться
XHR работает по протоколу HTTP. Представь, что это такой микробраузер в браузере. Соответственно, тебе нужно получить адрес ресурса и набор заголовков HTTP, а потом сформировать такой же запрос. Обычно это всё можно взять из исходного кода страницы и просмотра вкладки самого запроса через встроенные “инструменты разработчика” в браузере. В исходном коде страницы можно узнать, как составляется адрес ресурса. А в “инструментах разработчика” можно узнать, какие HTTP-заголовки посылаются при обращению к этому ресурсу.
DamMercul
Temp
Доброго времени суток!Задача следующая: изъятие инфы из определенной веб страницыПользуюсь библиотекой requests.Насколько я понял, эта библиотека собирает не всю инфу и заставить get подождать, пока страница прогрузится полностью нельзя. Но вроде как можно обращаться напрямую к какому-то конкретному подгружаемому элементу. В моём случае наименование элемента мне известно формата xhrПрошу подсказать, как именно к нему обращатьсяТак же прошу не рекламировать selenium в комментариях… ну только если через requests эту процедуру нельзя выполнить вообще никакими способами, включая жертвоприношения.Спасибо за уделённое время.
Невозможно. Если хоть что-то подгружается на странице через js фиг ты че этим модулем спрасишь
Temp
py.user.next
XHR работает по протоколу HTTP. Представь, что это такой микробраузер в браузере. Соответственно, тебе нужно получить адрес ресурса и набор заголовков HTTP, а потом сформировать такой же запрос. Обычно это всё можно взять из исходного кода страницы и просмотра вкладки самого запроса через встроенные “инструменты разработчика” в браузере. В исходном коде страницы можно узнать, как составляется адрес ресурса. А в “инструментах разработчика” можно узнать, какие HTTP-заголовки посылаются при обращению к этому ресурсу.

Спасибо, решение найдено, без использования сторонних библиотек. Сайт postman.co помог подобрать необходимые заголовки.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB