Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 23, 2022 14:12:22

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

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

В случае, если стоит запрет на подгрузку JS, то сайт выдаёт ошибку о том, что требуется подгрузить.

Отредактировано python13 (Июнь 23, 2022 14:14:55)

Офлайн

#2 Июнь 23, 2022 14:33:54

ntram
Зарегистрирован: 2022-06-19
Сообщения: 75
Репутация: +  3  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

VANISHED

Отредактировано ntram (Окт. 13, 2022 15:37:41)

Офлайн

#3 Июнь 23, 2022 14:41:53

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

ntram
немного погуглил, вот что нашелhttps://stackoverflow.com/a/54056631/13473129
Спасибо! Почитаю.

Офлайн

#4 Июнь 23, 2022 15:37:36

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

Сайт выдаёт:

Please enable JS in your browser

You may be blocking important javascript components, check that main.js is loaded or the webpage won't work.

Офлайн

#5 Июнь 23, 2022 15:53:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

python13
Привет! Пишу чекер для одного сайта и есть одна проблема, сайт не пропускает авторизацию, если ты не подгрузил JS.
скорее всего, проблема не в том, что вы “не подгрузили JS”. Какая сайту разница, подгрузили вы скрипт или нет? Он на то и скрипт, что подгружается один раз и застревает в кэше, браузер не качает один и тот же скрипт каждый раз при загрузке сайта. Проблема наверняка в том, что этот JS он не для красоты, он что-то делает на стороне клиента, например сообщает сайту о том, что вы загрузили страницу, чтобы сайт что-то сделал у себя на бэкенде. Сайту нужен обмен какими-то данными между браузером и бэкендом. Например, как-то так
1. после загрузки страницы скрипт отправляет серверу “я загрузился”
2. сервер проверяет геолокацию и отвечает “Хорошо, авторизуйся по схеме Мадагаскар” и запоминает это в БД
3. скрипт вызывает функцию MadagaskarAuth()

у вас всего этого разговора не происходит



Офлайн

#6 Июнь 23, 2022 15:53:58

ntram
Зарегистрирован: 2022-06-19
Сообщения: 75
Репутация: +  3  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

VANISHED

Отредактировано ntram (Окт. 13, 2022 15:39:37)

Офлайн

#7 Июнь 23, 2022 16:37:34

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

ntram
Через Selenium уже был написан код) Я ищу более оптимальные и быстрые решения

Офлайн

#8 Июнь 23, 2022 16:38:05

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

FishHook
Понял. Спасибо!

Офлайн

#9 Июнь 23, 2022 18:00:40

python13
Зарегистрирован: 2022-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

Вопрос, если что, актуален!

Офлайн

#10 Июнь 23, 2022 18:27:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как реализовать подгрузку JS при работе с Requests?

python13
Вопрос, если что, актуален!
а в чем он состоит? Нет никакого универсального решения. Парсинг интернета задача нетривиальная. Есть набор инструментов, которые вам тут уже назвали, плюс многие другие. Как с помощью этих инструментов спарсить данные с конкретного сайта? Ну это и есть та работа, за которую люди просят деньги. Надо провести много аналитической работы, ковыряться в сорцах сайта, исследовать АПИ ресурсов к которым он обращается. Все очень индивидуально, сайты они не как матрешки все на одно лицо. Никто вам не расскажет в двух словах, как обойти ту или иную проблему, если проблема описана вот так “сайт не пропускает авторизацию, если ты не подгрузил JS”. Разберитесь сначала как сайт работает, как устроена авторизация на этом сайте, что делают те или иные скрипты, какие они данные получают, что хранится в куках и тд. Потом, когда вы узнаете, почему именно не срабатывает ваша авторизация и не сможете самостоятельно придумать, как обойти возникшую трудность, приходите с конкретным вопросом. Кстати, владельцы сайтов вовсе не хотят чтобы воровали их данные и всячески защищаются от этого, и есть вариант, что спарсить будет невозможно вообще.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version