@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Конструктор регулярных выражений как использовать в логике скрипта?
-
Приветствую.
Есть такая задача. Помогите разобраться пожалуйста)Имеем список [[NEW_LIST_FOR_UP]] В списке вот такие данные:
"<div class="noq_post_info" post-author="user" post-date="1482406609" post-id="312494632" style="display:none;"/>" , "<div class="noq_post_info" post-author="user" post-date="1486034008" post-id="316738468" style="display:none;"/>" , "<div class="noq_post_info" post-author="user" post-date="1486556028" post-id="316893497" style="display:none;"/>"C помощью конструктора регулярных выражений
я построил выражение:"<div\ class="noq_post_info"\ post\-author="+.+"\ post\-date="+.+"\ post\-id="+(.+)"\ style="display:none;"/>"\ +Которое на выходе даёт мне айди вида:
312494632 316738468 316893497Вот что мне надо делать с списком [[NEW_LIST_FOR_UP]] чтобы выполнить для каждого элемента списка такое регулярное выражение?
-
Разобрался для этого подойдёт в блоке "Регулярные выражения" - "Извлечь все данные" ))
А какие ещё есть способы?
В действиях "записи" тоже есть блок
http://clip2net.com/s/3Ht1Zt7
я пытаюсь применить прям к переменной через "Установить переменную" и через "Парсить строку" но всегда выходит ошибки. Вообщем хотелось бы увидеть пару примеров работы с регулярными выражениями в рамках использования BAS. Форум читал было пару примеров, но я не смог разобраться к сожалению. -
@sitiros said in Конструктор регулярных выражений как использовать в логике скрипта?:
Разобрался для этого подойдёт в блоке "Регулярные выражения" - "Извлечь все данные" ))
А какие ещё есть способы?
В действиях "записи" тоже есть блок
http://clip2net.com/s/3Ht1Zt7
я пытаюсь применить прям к переменной через "Установить переменную" и через "Парсить строку" но всегда выходит ошибки. Вообщем хотелось бы увидеть пару примеров работы с регулярными выражениями в рамках использования BAS. Форум читал было пару примеров, но я не смог разобраться к сожалению.Извлечь все данные удобнее использовать со строковыми переменными. Со списками не так удобно, но тоже можно. Через foreach.
А так ещё есть xpath. Погугли. он тривиально осваивается. -
так я и так парсингом через xpath получил список с данными, теперь дальше надо мне с этими данными работать, хотя может можно было сразу через xpath получить только нужные мне id, но я не смог и поэтому приходится изобретать велосипед) Ну и с регулярными выражениями столкнулся, хотелось бы подробнее о них узнать чтобы научиться их применять, ну и разобраться как они работают. Как и где их ещё можно в логике скрипта применять.
-
@sitiros said in Конструктор регулярных выражений как использовать в логике скрипта?:
так я и так парсингом через xpath получил список с данными, теперь дальше надо мне с этими данными работать, хотя может можно было сразу через xpath получить только нужные мне id, но я не смог и поэтому приходится изобретать велосипед) Ну и с регулярными выражениями столкнулся, хотелось бы подробнее о них узнать чтобы научиться их применять, ну и разобраться как они работают. Как и где их ещё можно в логике скрипта применять.
Да, через xpath можно получить сразу нужный параметр. Вроде в конце шаблона надо добавить @имя_параметра. Не подскажу точно как. Наверняка гуглится )
Регулярные выражения могут помочь извлекать данные, например, из потрохов текста. К примеру, на почту приходит письмо с цифровым кодом подтверждения. Регуляркой можно выдернуть его сразу, даже если он не хранится в отдельном теге или параметре. -
Подскажите как лучше поступить?
Имеем страницу:
http://diesel.elcat.kg/index.php?showtopic=287496129#entry312494632Задача:
- найти текст "up"
- удалить текст если его писал автор темы
-- спарсить имя автора не проблема он уже есть в переменной "USER"
-- найти пост с текстом "up" , найти автора данного поста
-- и если имя автора данного поста = "USER", то удалить пост, через кнопку "Удалить" тоесть найти так же кнопку у данного поста и нажать на неё.
У всех постов есть уникальные id.
Честно говоря пробовал по разному и запутался. Может кто поможет разобраться, хотя бы подскажите в каком направлении двигаться.
-
Честно говоря пробовал по разному
Как пробовали? В чем запутались?
- Замечаем, что каждый пост имеет класс post_block
- Делаем цикл по .post_block
- Получаем текст каждого элемента.
- Если текст содержит up - делаем что вы хотите
Попробуйте еще для тренировки найти имя пользователя, который написал up)
0_1487072702497_searchup.xml -
Вот хороший онлайн конструктор регулярок: https://regex101.com/
-
@revers said in Конструктор регулярных выражений как использовать в логике скрипта?:
Вот хороший онлайн конструктор регулярок: https://regex101.com/
Сайт действительно хороший, я сам там проверяю регулярки. Но это не конструктор. Да и последнему сообщению в этой теме больше двух лет.