М.Двач / Web-мастера

Не работает парсер # OP 18 сен 2022, 13:08 136337 В конец треда | Веб

68 Кб, 1324x501634 Кб, 1797x820

Решил научиться делать парсер, но столкнулся с такой проблемой как авторизация. На ютубе просмотрел кучу видео, но так и не нашёл решение для своей проблемы. Проблема в том что когда отправляю гет запрос, то приходит странный html код, хотя статус код 200. Когда пытаюсь найти любой тег, то суп его просто не видет или его нет. Пик 1 мой код и пик 2 html который я получаю. Хочу понять в чем проблема и как решить

Ответы6348637467866790

2 18 сен 2022, 13:33 2 136338

бамп

3 19 сен 2022, 02:30 3 136348

>>136337 (OP)
Просто обфусцированный js.
Остальная верстка вроде нормальная. (В любом случае начало.)

Ответы6354

4 19 сен 2022, 08:07 4 136354

>>136348
А как мне получить не js а html? На странице через инспектор кода вижу тег input, а когда применяю метод find() не находит ни тег input ни любой другой тег

Ответы6355

5 19 сен 2022, 16:23 5 136355

>>136354
Там скорее всего динамическая генерация хтмл на клиенте. Возможно какой-то фронтенд фреймворк юзается.

Ответы6356

6 19 сен 2022, 17:16 6 136356

>>136355
а делать то мне чё?

Ответы6373

7 27 сен 2022, 20:09 7 136373

>>136356
На клиенте авторизация должна как-то закрепиться, например записью в куке. Даже если авторизация выполняется каждый раз при первом входе на ресурс - что-то да появится на клиенте, вроде токена, который нужно приклеивать к дальнейшим запросам.

Что же касается респонса на втором пике - возможно там и js как server-side-render, но тогда в теле ответа будет json с нужными тебе данными. Крч, парсить будешь не api, не html, а json, что пришел вместе с хуйней со второго пика.

8 28 сен 2022, 12:03 8 136374

>>136337 (OP)
Бля, если ты такие тупорылые вопросы задаешь, мол что мне делать с аутентификацией - то тебе beautiful soup противопоказан. Ты до него ещё не дорос. Возьми что попроще - puppeteer например или playwright. Или на худой конец селениум. Если ты не знаешь что такое csrf токен, то и нахуй ты лезешь в то, во что ты не понимаешь?

9 12 окт 2022, 01:27 9 136433

Оп, так как ты делаешь, в теории можно залогиниться, но это очень геморно
Я пришел к библиотеке selenium, но сука на сайтах с хорошей защитой селениум как то палится и программа не работает

Ответы6839

10 12 окт 2022, 01:28 10 136434

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

Ответы6435

11 12 окт 2022, 01:34 11 136435

>>136434
Или как скрыть действие хромдрайвера? Я юзаю selenium-stealth, но рабочей машине почему то не подменяется web-gl, я думаю из за этого сайт меня палит.
Как вот подменить эту хуйню или более элегантно скрыть работу хромдрайвера?
Понимаю что мне вряд ли ответят, но я не опускаю руки. Просто я даже не знаю, где спросить. Может анон подкажет какой нибудь форум или чат, где я смогу поинтересоваться
мне очень интересно выполнить кое какую задачу, это в теории может принести бабки. я столько всего узнал за последние несколько недель в плане питона, селениума, фингерпринтов, вот этого всего. хотелось бы уже решить задачу залогина, как опу и писать программу дальше. дальше уже и обезьяна справится

Ответы6436

12 12 окт 2022, 06:34 12 136436

>>136435
забей на селениум. юзай дефолтную либу запросов, парсить изи можно через регулярки \ хпат \ жсон (зависит от содержания ответа) . Если тебя на запросах палит сайт, то дело в составлении самих запросов \ проксях

Ответы6437

13 12 окт 2022, 11:54 13 136437

>>136436
Мне нужно именно логиниться, нажимать на кнопки, короче мне нужно именно вводить данные, а не парсить. Автоматизировать надо другими словами
Разве можно с помощью реквестов это сделать?

Ответы6439

14 12 окт 2022, 15:15 14 136439

>>136437
Конечно можно. Ты вообще понимаешь суть реквестов? Это отдельный протокол, в том же браузере ты аналогично делаешь кучу запросов при совершении любых действий на сайте. Создаешь сессию, чтоб куки сохранялись и делаешь логин, далее уже парси, что хочешь

Ответы6440

15 12 окт 2022, 18:58 15 136440

>>136439
Дело в том, что реквестами надо отправлять всю форму, а это не просто логин и пароль, но и всякие токены, js скрипты, не понятно откуда это всё берется и как это подставлять в запрос
Мне нужно просто взять логин и пароль, вставить их в поле формы и нажать кнопку input

Ответы64416442

16 12 окт 2022, 21:55 16 136441

>>136440
Все там просто отправляется. Установи софт для снифа запросов, вроде барпа или фидлера. Настрой его и отснифай все что нужно. Потом, если в запросе на логин есть разные токены, то поищи их в других запросах. Как заполняется форма - чекай доки либы реквестов, там все изи, 3 типа контент тайпа

Ответы64436757

17 12 окт 2022, 21:58 17 136442

>>136440
И не забывай еще про сессию, заголовки в запросах и прокси. Это все решает

Ответы6443

18 12 окт 2022, 23:05 18 136443

>>136441
>>136442
Рил?
А кнопки там можно тыкать?
И почему тогда селениум такой популярный?

Ответы6445

19 12 окт 2022, 23:08 19 136444

И что, реквест не чекается антиботами на крупных сайтах?

Ответы6446

20 12 окт 2022, 23:27 20 136445

>>136443
Популярная, т.к. это прямая эмуляция браузера. Обывателю проще по кнопкам с координатами тыкать, чем разбираться в работе хттп протокола (запросах)

21 12 окт 2022, 23:30 21 136446

>>136444
Дело не в чеке конкретной либы. Ты при работе с селениумом - тоже делаешь запросы, как и при посещении любого сайта через браузер или мобильной прилы. На запросах ты можешь регнуть акк на сайте, условно, за пару секунд и потратишь на это пару кб на прокси. На вебе ты буш регать акк секунд, допустим, 30 и потратишь мб 10 от прокси трафика. Все защиты обходятся.

22 13 окт 2022, 00:46 22 136447

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

>Все защиты обходятся
Просто селен реально проще и если есть варик обойти защиту под селениум, то я бы с удовольствием обошел под селениумом
Мб ты знаешь куда копать?
а если нет, то придется учить реквест, ниче не остается

Ответы64486461

23 13 окт 2022, 01:26 23 136448

>>136447
Не, не работал ни разу с селениумом. Онли запросы. Если тебя интересует автоматизация сайтов/ прил, то это нужно учить запросы. Да и учатся они точно не за месяц, гораздо быстрее. Короче, не трать время на селениум и подобные веб костыли, на запросах ты получишь скорость и точность.

Ответы8902

24 19 окт 2022, 13:50 24 136461

>>136447
>На самом деле изучать там очень много
Чел, если ты не занимаешься разработкой в постоянку, а хочешь только спарсить какой-то сайт, то у меня для тебя плохие новости - ты угробишь 9000 своего времени на это всё с минимальным выхлопом. Заебёшься сам, заебешь анонов вопросами, заебёшь сайт своим детским парсингом.
Найди себе уже разраба и работайте с ним над этой проблемой. Если нет денег на разраба, то не еби мозги и найди себе нормальную работу - в инете без денег мало что можно.

233 Кб, 959x950
25 1 ноя 2022, 17:46 25 136757

>>136441
>вроде барпа
Блять, этот сайт понимает что я его снифаю и просто не грузится
Я ебал блять
Я не знаю уже че делать
Проблемы просто реально на каждом шагу

Ответы6773

26 4 ноя 2022, 15:00 26 136773

>>136757
Юзай Browser automation studio и не еби себе мозги. Там все уже за тебя продумали.

Ответы6774

27 4 ноя 2022, 15:38 27 136774

>>136773
Твоя хрень точно на таких же технологиях работает. Ничего не изменится.

28 6 ноя 2022, 20:55 28 136786

>>136337 (OP)
Попробуй скопируй из браузера заголовки, ресурс не только по user-agent может определять действительно ли ты с браузера.
Плюс, для питона, я уверен на %146, уже есть готовые либы, которые помогают маскировать запросы под юзера, обмазывая нужными заголовками.
Плюс, контент твоего сайта можешь грузиться через js, в таком случае ты его не увидишь через обычный get запрос.

29 7 ноя 2022, 22:23 29 136790

>>136337 (OP)
>kijiji.ca

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

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

Ответы6791

18 Кб, 725x84
30 8 ноя 2022, 11:50 30 136791

>>136790
Судя по тому какую ты хуйню щас написал, от разработки ты далек, но пытаешься определять какие технологии петушиные а какие, что выдает недалёкого человека в принципе.
Обфусцированный реакт палится легко, а тут типичная дрисня из jquery+bootstrap из нулевых.

Ответы6792

31 8 ноя 2022, 19:00 31 136792

>>136791
/static/ и мусор в названиях классов ни на что не намекает? То, что сюда еще и бутстрап подключили не отменяет того, что работает все на каком-то новомодном JS-фреймворке для петушониксов.

32 25 ноя 2022, 23:47 32 136839

>>136433
вроде там можно настроить, чтобы когда отправляешь запрос там не было инфы про то что запрос из селениума, а заменить на какой нибудь фаерфокс и версию указать, это можно легко найти у всех браузеров есть свои версии и они как то по особенному написаны, честно несколько лет уже не занимался этим и всё позабыл, хотя в своё время парсил/скрэпил очень много сайтов в том числе booking.com, запомнился потому что дрочево лютое было и заказчик сам не знал чего хотел, но были и другие сайты абсолюнто разные с разными защитами, обычно если защиты меньше то парсер пишется быстро и собирает инфу быстро, а если там какая то защита то всё становилось дольше, по моему селениум я использовал в крайних случаях, по сути он как бы открывает окно браузера и выполняет команды из кода, так ведь? а то забыл уже все названия, но вроде эта штука называлась селениум, грубо говоря браузер работающий из кода
Кстати там вроде есть возможность убрать так сказать графическую часть браузера, чтобы он выполнял свою функцию но на экране не отображался грубо говоря

так что бро там можно настроить тип браузера который запрашивает страницу сайта, поищи инфу

33 19 авг 2024, 21:48 33 138902

>>136448
Селениум не нужен, учи запросы. Они быстрее и точнее.

Обновить тред
« /web/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion