У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Найти элемент по подстроке
-
@Putevka said in Найти элемент по подстроке:
XPATCH в BAS не поддерживает регулярки.
А где xpath их поддерживает? Просто интересно, может я отстал и уже такое выдумали )
-
<div id=":34" class="afn">не прочитана, <span class="bA4"> <span class="zF" email="info@my-site.ru" name="info@my-site.ru" data-hovercard-id="info@my-site.ru">info@my-site.ru</span></span>, <span class="bqe" data-thread-id="#thread-f:1655608622101963060" data-legacy-thread-id="16f9e7451f762134" data-legacy-last-message-id="16f9e7451f762134" data-legacy-last-non-draft-message-id="16f9e7451f762134">Проверочное сообщение</span>, <span class="bq3">13 янв.</span>, Это тестовое письмо для проверки почты. Множественные Источники Трафика Годовая программа Для наилучших результатов, если на Ваше сообщение должны ответить, всегда отправляйте свою почту в один и тот.</div> -
@Putevka xpath поддерживает много чего другого и Оно если не прямо заменяет их то очень рядом. Например кроме contains там еще дофига чего и можно обратное утверждение использовать легко. А это только строковые. Есть еще. В общем это очень широкий инструмент почти как регулярка. Учите xpath учите поверьте пригодится
-
@Putevka Вот простой пример из того что вы дали так можно выдрать сам email
//*[contains(@email, '@my-site.ru') and contains(@name, '@my-site.ru')]/@emailПлевать нам ихние id мы перебором потом найдем=)
поверим и будем верить что эти классы у них не динамо. Но выедерет это все и везде где найдет. А найдет все письма.
Вот как видите это очень мощный инструмент
upd ссылку что я дал это мануал, и там есть задания прямо по нему с начала можете и начать
Можно логические не только и или и не там тоже есть. Contains это содержит and и or это или not нет ну в общем все очень просто
