Сохранен 25
https://2ch.hk/pr/res/1705099.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Антипарсинговая защита(Avito)

 Аноним 28/05/20 Чтв 08:05:31 #1 №1705099 
image.png
Привет, /pr/ач. Я тут пишу парсер Авито для личных целей на jsoup(java) и столкнулся с проблемой защиты от парсинга.
Распарсить мне нужно немного, всего страниц 50 в день. Написал код, распарсил одну, потом запустил парситься все остальные и после 10 успешных перестало работать.
Если пытаюсь загрузить любую страницу программой, то title страницы показывается как "Доступ временно заблокирован".

Спустя несколько часов этот блок спал и я задумался как работает эта защита и можно ли ее обойти?
Пока приходят на ум использование хороших приватных https прокси. Если бы я знал как работает защита то может мог бы придумат что-то еще. Например, есть идея делать запросы с небольшим рандомизированым интервалом времени, но чет мне кажется что там программисты не дураки и предусмотрели это.
Повторяю, мне не нужно парсить очень много страниц.
Аноним OP 28/05/20 Чтв 08:09:32 #2 №1705102 
Тригерится ли этот блок на количество запросов? Могу я просто делать по 10 запросов раз в 5 минут?
Аноним 28/05/20 Чтв 08:15:49 #3 №1705105 
50 страниц это херня вообще, проблем не должно быть, если ты не молотишь в сервер с частотой дятла
Максимум хорошо притвориться честным юзером, от правильных user agent до использования headless браузера с работающим javascript и куками
Аноним OP 28/05/20 Чтв 08:21:18 #4 №1705107 
>>1705105
user-agent = "Mozilla/5.0" пойдет?
Аноним OP 28/05/20 Чтв 08:21:47 #5 №1705109 
>>1705105
>>1705107
Возможно когда я словил блок, у меня вообще user-agent не был прописан
Аноним 28/05/20 Чтв 09:00:09 #6 №1705116 
>>1705107
https://www.whatismybrowser.com/detect/what-is-my-user-agent
Аноним OP 28/05/20 Чтв 09:01:48 #7 №1705118 
>>1705116
То есть мне скоипровать и вставить всю эту строчку в программу?
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
Аноним 28/05/20 Чтв 09:51:45 #8 №1705132 
оо ссука. лет 10 уже как у них защиты.
ты понимаешь, что ты ничтожество перед авито?
Аноним OP 28/05/20 Чтв 10:16:59 #9 №1705151 
>>1705132
Понимаю, но можно же человеческие действия имитировать? Я вот и спрашиваю, на что это защита тригерится.
Аноним 28/05/20 Чтв 12:55:20 #10 №1705484 
>>1705151

нет, нельзя. иди нахуй
Аноним 29/05/20 Птн 16:08:51 #11 №1706919 
>>1705151
Ты пока сам признался, что никакой имитации вообще не делал. Даже банального user-agent.

Посмотри, как выглядит запрос в браузере, F12. Можно через curl воспроизвести запрос. Помимо user-agent есть и другие заголовки, их тоже очень желательно воспроизводить, чтобы ты не выглядел как робот.

В теории можно делать очень продвинутые и изощрённые защиты, которые будут анализировать поведение пользователя, специфичную активность браузера (подтягивание графики, работу скриптов и т.п.), но я сомневаюсь, что там это есть.
Аноним 29/05/20 Птн 17:11:01 #12 №1707024 
>>1706919
Есть headless браузеры, которые от браузера отличаются только отсутствием гуя. Очень удобно, потому что он и запрос запросит, и картинки скачает. Хотя какой-нибудь гугл транслейт запрашивает у меня капчу даже при абсолютно легитимных запросах, потому что айпи билайновский
Аноним 29/05/20 Птн 18:07:32 #13 №1707094 
>>1707024
Хедлессы тоже палятся несложно отсутствием\присутствием того, чего нет в реальном браузере.
Можно скриптовать реальный браузер, но что-то ещё подпиливать придется, да.
Аноним 29/05/20 Птн 18:44:07 #14 №1707140 
>>1705099 (OP)
Попробуй парсить мобильную версию. Всё работало, правда я занимался этим год или два назад.
Аноним 29/05/20 Птн 20:01:04 #15 №1707216 
>>1707094
>Хедлессы тоже палятся
>чего нет в реальном браузере
Болван, блядь. Хедлесс - это и есть реальный браузер, только без GUI.
Аноним 29/05/20 Птн 20:16:54 #16 №1707248 
>>1707094
Посмотрел, сейчас там авито какую-то диагностику ведёт, посылает пакеты с данными по fps, явно для анализа, что на клиенте именно реальный браузер.
Аноним 29/05/20 Птн 20:28:50 #17 №1707258 
>>1707216
Ты бы хоть загуглил, перед тем как в штаны себе срать.
Помимо этого, headless браузер будет срать в память не меньше хрома и для смены в нём прокси тебе нужно будет перезапускать процесс headless браузера, убив перед этим старый (что не всегда работает, засерая память еще больше). Ну и общая скорость загрузки страницы тоже страдать будет, так как он будет выполнять все скрипты на страницы и подгружать всё что подгружается скриптами.
Аноним 29/05/20 Птн 20:33:48 #18 №1707273 
>>1705099 (OP)
Для этого уже есть готовые решения, зачем ты велосипед изобретаешь, особенно когда у тебя знаний чуть менее чем нихуя?
Аноним 29/05/20 Птн 20:36:30 #19 №1707279 
>>1707258
Куда ты лезешь, недоумок? Тебе же объяснили, что headless бразуер, отличается отсутствием GUI. То, что ты не умеешь программировать - это твои проблемы.
Аноним 29/05/20 Птн 21:08:23 #20 №1707343 
20190929094910.jpg
>>1707279
Оправдывайся, чмо некомпетентное, но только после того как подмоешься и постираешь штанишки, которые ты только что обдристал.
Аноним 30/05/20 Суб 16:58:32 #21 №1708142 
>>1707343
>чмо некомпетентное
>подмоешься
>обдристал
Типичные беседы джавагоспод

Мимо-с-главной
Аноним 01/06/20 Пнд 09:06:40 #22 №1709714 
>>1705151
гугли browser automation studio + FingerprintSwitcher
Аноним 20/06/20 Суб 17:15:04 #23 №1729056 
Так если страниц не много, то зачем с хедлесом страдать? или все на сервере происходит? просто селениум + профиль от своего браузера подключить. Один раз обучить его и все. Если он 10-20 минут проработает и спокойно все спарсит, то ничего страшного не случится. яндекс-маркет пакетно так паршу с картинками и всем остальным - все спокойно, а там программисты тоже не лохи
Аноним 21/06/20 Вск 14:43:26 #24 №1729604 
>>1729056
Двачую, вариант лучше, чем селениум, на коленке не склепать.
Аноним 21/06/20 Вск 21:24:33 #25 №1729973 
>>1729056
>>1729604
На 50 страниц запросов можно и на JS написать простенький парсер, который будет работать из консоли разработчика.
comments powered by Disqus

Отзывы и предложения