@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Сохранение и загрузка cookies в многопотоке
-
Друзья, доброго Вам времени суток.
Не понимаю немного концепта сохранения и загрузки кукис в многопотоке, представим ситуацию: есть 100 аккаунтов, для которых нужно сохранить куки и в дальнейшем открывать один и тот же сайт с использованием этих кукис. Вопрос: как это лучше всего реализовать для работы в многопотоке?
Я буквально не понимаю, как для аккаунта №37 вызвать куки принадлежащие аккаунту №37.
Я поглядываю на профили, но в БАС пункт "создание профиля" содержит рядом "УСТАРЕЛО", из-за этого сомневаюсь в использовании профилей.Буду рад любым подсказкам. Заранее, спасибо большое.
upd.
Немного подробностей: к кукис я пришёл после того, как реализовал основной функционал.
Сейчас аккаунты берутся из ресурса-файла, фингерпринт берется ресурсом-строкой, сайты берутся также из ресурса-файла.. -
Оно хоть и устарело но работает.
Теперь настройки использования профилей в самом конце действия - настройки браузера.
Да все просто ведешь базу хоть в простом файле - акк37 - куки файл такой то...
В файл или в ресурс пишешь строку:
акк44;фингер44;куки44
парсишь строку и загружаешь все что нужно. -
@DuckDuck Прошу прощения, я там дописал немного.
Подскажите, в таком случае алгоритм действий:
Сохраняю куки в переменную, далее, записываю в файл содержанием: account_name - cookies
Перед следующим запуском я проверяю строку на account_name, и если совпадают, то читаю строку? -
@orangie у тебя в ресурсе (файле из которого ресурс)
строки такого вида должны получиться:
акк44;пароль;фингер44;куки44
две паки, в которые ты складываешь с этими именами куки и фингеры соответственно.Далее берешь строку из ресурса, парсишь ее, получаешь 4 переменные - акк,пароль, имя файла фингера, и имя файла куки.
И грузишь нужные файлы. -
@DuckDuck
У меня ресурс аккаунтов в таком виде "логин:пасс:ип:порт"
Получается, мне нужно создать отдельный файл кукис с именем равным логину вовремя первого "прохода" скрипта;
В таком случае даже имя файла куки я могу не парсить, а просто брать "логин", ведь эти два поля будут совпадать
После я читаю файл в переменную и загружаю кукисВсё так получается, если я правильно понял?
-
Немного сложновато предложили. Достаточно по одной папке для каждого логина, в которых будут текстовики отпечатков и кук (всего два текстовика).
Парсите логин из "логин:пасс:ип:порт", папка с отпечатками и куками будет называться по логину.
Сохранять или загружать скриптом легко, например:D:\PutDo\[[LOG_IN]]\fingerprint.txt D:\PutDo\[[LOG_IN]]\cookies.txtСтранная ошибка сайта, почему-то не сохраняется \ в коде.
-
@gurkin4 said in Сохранение и загрузка cookies в многопотоке:
Странная ошибка сайта, почему-то не сохраняется \ в коде.
форум считает, что вы экранируете квадратную скобку, что бы этого не происходило, достаточно экранировать слеш, то есть ввести его два раза
\\ -
@gurkin4 said in Сохранение и загрузка cookies в многопотоке:
@Fox Операция "Код" должна показывать всё в чистом виде, как пишет автор. В данном случае это ошибка сайта.
А я и не говорил, что это "не ошибка"
-
@gurkin4
Доброго Вам дня. А в чем преимущественное отличие от предложенного выше варианта?
Вы предлагаете создавать под каждый логин одну папку с двумя файлами (фингерпринт, кукис), а предыдущий вариант предлагает создать две папки, в которых будут по отдельности файлы.Или же это просто один из вариантов выполнения этого задания?
-
да все это как вариант, просто Гиркин, как и его одноименцы, не видят дальше своего носа, и если вдруг вам захочется использовать фингеры в другом проекте, то проще это будет сделать по моему сценарию, а так можно и как он предложил.
я вообще привык мыслить категорией базы данных, а там так проще организовать, чтоб проще было делать выборки.