Парсил реактор и тут же айпишник улетел в бан, делалось на благие нужды для тех кому нужно API или дамп базы (ну там кто хочет скачать настольное приложение и юзать реактор без интернетов). Задачи дудосить не было, да и много можно надудсоить с домашнего компутера. В общем хотел узнать, айпи в пермобане или стандартные 2-4 часа? Можно как-то убрать его ибо это еще и личный VPN?
Еще на тему
профессионалы не берут пачку vps, они берут пул ip адресов, желательно в разных подсетях.
такие посты в dev уже были. кока этим заморачиваться не будет.
если мне память не изменяет, то первое время короткие баны на n часов, потом (судя по опыту phpjsdev) в бан улетает вся подсеть. нахуй.
есть базы халявных проксей, отдают json, ставь таймаут на ip ~300мс, включая время запроса - будет 400+, то есть не больше двух запросов в секунду с адреса. где-то тыщь по 6, если фильтровать по приемлемой задержке - штук 200 живых и нормальных можно собрать.
пишешь скрипт с предварительной проверкой проксей на живость и незабаненность на реакторе - можно просто дергать заминусованный коммент и сверять ответ с эталонным содержимым. например, http://joyreactor.cc/post/comment/13393100?_=1530196846441
и потом нормальными проксями обходишь. желательно прикрутить горячую замену, т.к. халявные прокси часто дохнут и через час может оказаться, что из 50 потоков у тебя живы только 10.
в зависимости от нагрузки на реактор, 512-1024 потоков перегружают его. в час пик можно и с 256 потоков, где каждый делает по ~1.5 - 2 запроса в секунду можно ловить лулзы с того, как реактор выдает страницу ошибки. для всех.
так что больше 50-100 не ставь.
скорей всего это связано с тем, что если идешь по начальным постам, то загружая ими выбиваешь из кеша новые, к которым наибольшее обращение. заметно по длительности ответа.
в целом c поддержкой keep-alive у клиента довольно резво происходит, дней за 3-5 можно собрать все посты тупо проходя инкрементом + доп запрос, если висит плашка, что nsfw контент, то обращаться к pornreactor.
на контент ддос фильтр не стоит, можно перебрать тоже инкрементом
http://img1.reactor.cc/pics/post/full/-{id}.jpeg
расширение можно ставить любое, все равно вернется правильный Content-Type.
удачи)
и не насилуй личный впн, а то улетит в бан навсегда.
Бан прилетел с 64 потоков с одной машины.
>> есть базы халявных проксей, отдают json, ставь таймаут на ip ~300мс, включая время запроса - будет 400+, то есть не больше двух запросов в секунду с адреса. где-то тыщь по 6, если фильтровать по приемлемой задержке - штук 200 живых и нормальных можно собрать.
Что за прокси такие? Ты имеешь ввиду, что бесплатно имеют json API для проксирования запросов?
>> и потом нормальными проксями обходишь.
Надо еще затариться платной пачкой прокси?
>> 512-1024 потоков перегружают его
Ты имеешь ввиду обычные HTTP запросы в секунду к вебу?
>> на контент ддос фильтр не стоит, можно перебрать тоже инкрементом http://img1.reactor.cc/pics/post/full/-{id}.jpeg
Его еще надо где-то хранить, я думаю если активно что-то качать то и я и реактор разоримся на трафике
>> скорей всего это связано с тем, что если идешь по начальным постам, то загружая ими выбиваешь из кеша новые, к которым наибольшее обращение
Мне кажется, что просто кэшируются только свежие/горячие посты, какой смысл кэшировать всё подряд?
>> удачи) и не насилуй личный впн, а то улетит в бан навсегда.
Я до этого парсил всякие штуки и никаких намеков на баны, а тут судя по тому что ты пишешь нужна целая инфраструктура =( Может дело не в трафике и не нагрузке, а в опасениях обминов, что будут обходить рекламу и всякое такое?
В любом случае спасибо за подробный разбор.
ну так у каждого потока должен быть свой ip.
1-2 запроса в секунду максимум с ip. хз как сейчас, но раньше если быстрей, то с ~20 запросов улетаешь в автобан.
Что за прокси такие? Ты имеешь ввиду, что бесплатно имеют json API для проксирования запросов?
https://checkerproxy.net/api/archive/2018-06-28 , например. я обычно брал только socks5 - их к reactphp можно прикрутить, например.
ну если курлом дергать, то любые сойдут. подставляешь вместо даты вчера или сегодня, сам их чекаешь, слишком долгие выбраковываешь.
Надо еще затариться платной пачкой прокси?
нет, достаточно тех, халявных.
Ты имеешь ввиду обычные HTTP запросы в секунду к вебу?
нет, это количество потоков, где каждый делает 1.5 - 2 запроса в секунду к реактору.
Я до этого парсил всякие штуки и никаких намеков на баны
не знаю, пикабушники или кто, но реактор однажды довольно крепко ддосили.
реактор это не топ 20 сайт рунета, тут не такой большой поток народу, не так много серверов нужно. сложить реактор не сложно, если иметь пул в 2-3к ip адресов и более-менее резвый vps за $20-30. даже с dos фильтром.
без dos фильтра на keep-alive реактор можно было бы ложить с одного адреса и канала в 100мбит при любой нагрузке.
это не вопрос рекламы, это вопрос защиты от dos.
300мс + время на запрос где-то те 400-700мс и выйдет суммарно (страницы, что не в кеше, реактор отдает дольше).
хотя достаточно пройтись проверить на наличие открывающего/закрывающего html тега и #postContainer{post_id} блока.
сколько там полезного контента, если пообрезать всякие там сайдбары и т.д. - ну хуй знает, но sqlite на таких объемах загнется наверняка.
ну в любом случае ты делаешь те же обращения к реактору, получаешь тот же html.
это делалось потому, что с html мне не придется обходить реактор еще раз - есть база с html, криво написал парсер разметки - повторил заново. где-то проебался - повторил заново.
а если учесть, что реактор дарит кучу "приятных" сюрпризов, например распознавалка текста с картинок может засунуть в любую хуйню, которую браузер как-то еще обработает, а DOM-парсер - нет. приходится постоянно вносить коррективы.
ну в любом случае это все не для sqlite, он плохо держит хоть какую-либо нагрузку и хоть какие-либо объемы.
если это дерьмо тормозит у меня в firefox на 7к закладок, то что с ним будет твориться на 3.5кк постов?
да элементарно сохранять в него - он очень медленный на инсерты. он очень медленный на всё.