Не работает парсер # OP 136337 В конец треда | Веб
Решил научиться делать парсер, но столкнулся с такой проблемой как авторизация. На ютубе просмотрел кучу видео, но так и не нашёл решение для своей проблемы. Проблема в том что когда отправляю гет запрос, то приходит странный html код, хотя статус код 200. Когда пытаюсь найти любой тег, то суп его просто не видет или его нет. Пик 1 мой код и пик 2 html который я получаю. Хочу понять в чем проблема и как решить
2 136338
бамп
3 136348
>>6337 (OP)
Просто обфусцированный js.
Остальная верстка вроде нормальная. (В любом случае начало.)
4 136354
>>6348
А как мне получить не js а html? На странице через инспектор кода вижу тег input, а когда применяю метод find() не находит ни тег input ни любой другой тег
5 136355
>>6354
Там скорее всего динамическая генерация хтмл на клиенте. Возможно какой-то фронтенд фреймворк юзается.
6 136356
>>6355
а делать то мне чё?
7 136373
>>6356
На клиенте авторизация должна как-то закрепиться, например записью в куке. Даже если авторизация выполняется каждый раз при первом входе на ресурс - что-то да появится на клиенте, вроде токена, который нужно приклеивать к дальнейшим запросам.

Что же касается респонса на втором пике - возможно там и js как server-side-render, но тогда в теле ответа будет json с нужными тебе данными. Крч, парсить будешь не api, не html, а json, что пришел вместе с хуйней со второго пика.
8 136374
>>6337 (OP)
Бля, если ты такие тупорылые вопросы задаешь, мол что мне делать с аутентификацией - то тебе beautiful soup противопоказан. Ты до него ещё не дорос. Возьми что попроще - puppeteer например или playwright. Или на худой конец селениум. Если ты не знаешь что такое csrf токен, то и нахуй ты лезешь в то, во что ты не понимаешь?
9 136433
Оп, так как ты делаешь, в теории можно залогиниться, но это очень геморно
Я пришел к библиотеке selenium, но сука на сайтах с хорошей защитой селениум как то палится и программа не работает
10 136434
В связи с чем вопрос
Мне нужно автоматизировать действия в браузере
Какую технологию для этого изучить, чтобы она не палилась одним крупным сайтом? Ткните носом плс
11 136435
>>6434
Или как скрыть действие хромдрайвера? Я юзаю selenium-stealth, но рабочей машине почему то не подменяется web-gl, я думаю из за этого сайт меня палит.
Как вот подменить эту хуйню или более элегантно скрыть работу хромдрайвера?
Понимаю что мне вряд ли ответят, но я не опускаю руки. Просто я даже не знаю, где спросить. Может анон подкажет какой нибудь форум или чат, где я смогу поинтересоваться
мне очень интересно выполнить кое какую задачу, это в теории может принести бабки. я столько всего узнал за последние несколько недель в плане питона, селениума, фингерпринтов, вот этого всего. хотелось бы уже решить задачу залогина, как опу и писать программу дальше. дальше уже и обезьяна справится
12 136436
>>6435
забей на селениум. юзай дефолтную либу запросов, парсить изи можно через регулярки \ хпат \ жсон (зависит от содержания ответа) . Если тебя на запросах палит сайт, то дело в составлении самих запросов \ проксях
13 136437
>>6436
Мне нужно именно логиниться, нажимать на кнопки, короче мне нужно именно вводить данные, а не парсить. Автоматизировать надо другими словами
Разве можно с помощью реквестов это сделать?
14 136439
>>6437
Конечно можно. Ты вообще понимаешь суть реквестов? Это отдельный протокол, в том же браузере ты аналогично делаешь кучу запросов при совершении любых действий на сайте. Создаешь сессию, чтоб куки сохранялись и делаешь логин, далее уже парси, что хочешь
15 136440
>>6439
Дело в том, что реквестами надо отправлять всю форму, а это не просто логин и пароль, но и всякие токены, js скрипты, не понятно откуда это всё берется и как это подставлять в запрос
Мне нужно просто взять логин и пароль, вставить их в поле формы и нажать кнопку input
16 136441
>>6440
Все там просто отправляется. Установи софт для снифа запросов, вроде барпа или фидлера. Настрой его и отснифай все что нужно. Потом, если в запросе на логин есть разные токены, то поищи их в других запросах. Как заполняется форма - чекай доки либы реквестов, там все изи, 3 типа контент тайпа
17 136442
>>6440
И не забывай еще про сессию, заголовки в запросах и прокси. Это все решает
18 136443
>>6441
>>6442
Рил?
А кнопки там можно тыкать?
И почему тогда селениум такой популярный?
19 136444
И что, реквест не чекается антиботами на крупных сайтах?
20 136445
>>6443
Популярная, т.к. это прямая эмуляция браузера. Обывателю проще по кнопкам с координатами тыкать, чем разбираться в работе хттп протокола (запросах)
21 136446
>>6444
Дело не в чеке конкретной либы. Ты при работе с селениумом - тоже делаешь запросы, как и при посещении любого сайта через браузер или мобильной прилы. На запросах ты можешь регнуть акк на сайте, условно, за пару секунд и потратишь на это пару кб на прокси. На вебе ты буш регать акк секунд, допустим, 30 и потратишь мб 10 от прокси трафика. Все защиты обходятся.
22 136447
Понятно
Просто не хотелось бы потратить месяц на изучение реквеста, а его по итогу так же задетектит сайт
На самом деле изучать там очень много, особенно мне не понятна тема с токенами при логине

>Все защиты обходятся


Просто селен реально проще и если есть варик обойти защиту под селениум, то я бы с удовольствием обошел под селениумом
Мб ты знаешь куда копать?
а если нет, то придется учить реквест, ниче не остается
23 136448
>>6447
Не, не работал ни разу с селениумом. Онли запросы. Если тебя интересует автоматизация сайтов/ прил, то это нужно учить запросы. Да и учатся они точно не за месяц, гораздо быстрее. Короче, не трать время на селениум и подобные веб костыли, на запросах ты получишь скорость и точность.
24 136461
>>6447

>На самом деле изучать там очень много


Чел, если ты не занимаешься разработкой в постоянку, а хочешь только спарсить какой-то сайт, то у меня для тебя плохие новости - ты угробишь 9000 своего времени на это всё с минимальным выхлопом. Заебёшься сам, заебешь анонов вопросами, заебёшь сайт своим детским парсингом.
Найди себе уже разраба и работайте с ним над этой проблемой. Если нет денег на разраба, то не еби мозги и найди себе нормальную работу - в инете без денег мало что можно.
0aTXFygZrws.jpg233 Кб, 959x950
25 136757
>>6441

>вроде барпа


Блять, этот сайт понимает что я его снифаю и просто не грузится
Я ебал блять
Я не знаю уже че делать
Проблемы просто реально на каждом шагу
26 136773
>>6757
Юзай Browser automation studio и не еби себе мозги. Там все уже за тебя продумали.
27 136774
>>6773
Твоя хрень точно на таких же технологиях работает. Ничего не изменится.
28 136786
>>6337 (OP)
Попробуй скопируй из браузера заголовки, ресурс не только по user-agent может определять действительно ли ты с браузера.
Плюс, для питона, я уверен на %146, уже есть готовые либы, которые помогают маскировать запросы под юзера, обмазывая нужными заголовками.
Плюс, контент твоего сайта можешь грузиться через js, в таком случае ты его не увидишь через обычный get запрос.
29 136790
>>6337 (OP)

>kijiji.ca



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

Посмотри есть ли он в кеше гугла. Если есть - значит используется пререндер и поисковым ботам отдается готовая статичная страница. В таком случае можно попробовать сменить юзер-агент на гуглбота и попробовать парсить статику.
image.png18 Кб, 725x84
30 136791
>>6790
Судя по тому какую ты хуйню щас написал, от разработки ты далек, но пытаешься определять какие технологии петушиные а какие, что выдает недалёкого человека в принципе.
Обфусцированный реакт палится легко, а тут типичная дрисня из jquery+bootstrap из нулевых.
31 136792
>>6791
/static/ и мусор в названиях классов ни на что не намекает? То, что сюда еще и бутстрап подключили не отменяет того, что работает все на каком-то новомодном JS-фреймворке для петушониксов.
32 136839
>>6433
вроде там можно настроить, чтобы когда отправляешь запрос там не было инфы про то что запрос из селениума, а заменить на какой нибудь фаерфокс и версию указать, это можно легко найти у всех браузеров есть свои версии и они как то по особенному написаны, честно несколько лет уже не занимался этим и всё позабыл, хотя в своё время парсил/скрэпил очень много сайтов в том числе booking.com, запомнился потому что дрочево лютое было и заказчик сам не знал чего хотел, но были и другие сайты абсолюнто разные с разными защитами, обычно если защиты меньше то парсер пишется быстро и собирает инфу быстро, а если там какая то защита то всё становилось дольше, по моему селениум я использовал в крайних случаях, по сути он как бы открывает окно браузера и выполняет команды из кода, так ведь? а то забыл уже все названия, но вроде эта штука называлась селениум, грубо говоря браузер работающий из кода
Кстати там вроде есть возможность убрать так сказать графическую часть браузера, чтобы он выполнял свою функцию но на экране не отображался грубо говоря

так что бро там можно настроить тип браузера который запрашивает страницу сайта, поищи инфу
33 138902
>>6448
Селениум не нужен, учи запросы. Они быстрее и точнее.
Обновить тред
« /web/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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