@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Сохранение в кеш - возможно ли реализовать?
-
Возможно ли кешировать изображения, CSS и JS файлы с определенного домена и задавать определенную маску, как например с маской разрешить\запретить запрос? Не знаю, как более точнее объяснить, но хочется сделать, чтобы все работало так же, как если бы изображения загружались с сайта (размеры DIV и различных элементов с изображениями имели правильные размеры), но при этом все изображения\файлы брались из кеша, для экономии трафика, т.к. прокси не резиновые, но и на домен отправлялись все необходимые запросы к изображениям, если например на сайте стоит защита, и проверяет, был ли запрос к определенному файлу с картинкой. Сталкивался с такой защитой на одном сайте - никаких посторонних ajax запросов на сайт не посылалось, и мой бот посылал правильные запросы для регистрации, но аккаунты все равно банили через несколько дней. Поэтому подумал, что проверяли по загрузке какого-то определенного файла с картинкой. Сейчас регистрирую аккаунты на том же сайте через BAS, пока ни одного не забанили.
-
Технически можно, движок БАС позволяет как угодно менять содержимое запросов и ответов. Просто ни в апи, ни в действия это пока не выведено.
на сайте стоит защита, и проверяет, был ли запрос к определенному файлу с картинкой
Тогда брать изображения из кеша не поможет, ведь запроса к серверу не будет.
-
@support но вроде ведь сначала идет запрос на сервер об информации, изменился ли файл, если нет, то берется из кеша. хотя может я ошибаюсь, но уверен, что раньше читал, что именно так и работает кеш. посылается запрос, если файл на сервере изменился, то файл перекачивается заново, если нет - берется из кеша.
-
@blackhacker Работает так.
Браузер шлет заголовок If-Modified-Since.
Если у браузера старая версия - сервер шлет 200 ответ с картинкой.
Если у браузера последняя версия - сервер шлет 304 ответ без данных.Вот я смотрю сейчас, что БАС между загрузками не использует кеш(возможно что-то делаю не так). Но даже если кеш не будет чиститься между загрузками, он все равно будет чиститься между запусками потока.
-
@blackhacker Да, фреймворк позволяет такое делать.
-
@support вернусь к этой теме. все-таки у меня снова забанили все аккаунты, больше 3к. использовал только BAS для работы. не знаю даже, как сайт определяет ботов, слишком он допотопный, функционал сайта более 10 лет не менялся. но не удивлюсь, что админ сайта настолько упорот, что вручную проверяет аккаунты на активность.
-
@blackhacker вполне может быть , что вручную.. взял пару акков под подозрением, посмотрел (не руками) их ИП, обратил внимание на подсети эти ИП, дальше просто проверил прокси ли это вообще, оказалось что да. Дальше сделал скрипт, которые все ИП так проверил и все ,что подходит под нужные параметры забанил.
-
@out там около 10-15 подсетей, если не больше, да и аккаунты на рандомные страницы на сайте заходят, чтобы создать видимость случайной активности
-
@blackhacker Я бы еще обратил внимание на юзераегнты, разрешение, они должны быть разные. Еще скоро доделаю антидетект модуль, он должен помочь.
Если бы вы приложили сайт, можно было посмотреть на скрипты там, так сказать сложно.
-
@support wmmail.ru
Последний раз давно смотрел, скриптов там не было дополнительных. сам сайт настолько древний, что даже jquery не использует. зная администрацию и модераторов там, можно сказать про них, что они очень упоротые в плане жадности и гонятся за каждой копейкой, поэтому могут каждый аккаунт банить вручную -
@blackhacker Похоже сайт уделяет внимание ип/юзер агенту. http://prnt.sc/dvkdsk
При регистрации вы использовали набор юзер агентов или один и тот же? -
@blackhacker Какой процент ботов забанили? 100%?
-
@blackhacker Скорее всего на сервере какой-то скрипт, который анализирует количество регистраций. Попробуйте растянуть регу на несколько дней.
-
@blackhacker 300 - 500 / 2000 - это 15 - 25% от общего числа, их вполне можно вычислить. Попробуйте зарегать 10-20 аккаунтов в день. Если их забанят - виноват БАС или метод с которым вы регистрируете.
Если не забанят - скорее всего решение о бане было автоматическим/полуавтоматическим.