У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Вопрос по строковой функции xpath 'concat'
-
Всем привет!
Есть некоторый сайт вот с таким кодом:
<table> <tbody> <tr> <td>ТЕКСТ 1</td> <td>ТЕКСТ 2</td> <td></td>Мне нужно забрать ТЕКСТ 1 и ТЕКСТ 2, но так, чтобы получилось "ТЕКСТ 1 + ТЕКСТ 2", то есть надо эти значения не только взять, но и поставить между ними знак "+".
Я пробовал через Xpath функцию concat, типа такого "//table[concat(//tbody//tr/td[1],'+',//tbody//tr/td[2])]", но ничего не получилось. Отсюда вопрос, может кто знает, в чем ошибка? И можно ли вообще в данном случае использовать такую строку для извлечения данных?
-
Бери по одной, и клей через переменные - установить значение.
А конкотинейт, сдается мне подъедет вместе с xpath 2.0ps: сдается мне там и синтаксис другой
https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/concat -
Попробуй тейбл во внутрь каждого пихнуть
https://stackoverflow.com/questions/21996965/concatenate-multiple-node-values-in-xpath -
@Вениамин синтаксис должен быть примерно таким
concat((//li/text())[1],(//li/text())[2])В басе для извлечения текста со странице - вроде не работает.
Может через модуль Xpath из переменной.
Сначала протестируй в обычном хроме с каким нить хелпером типо этого
https://chrome.google.com/webstore/detail/xpather/gabekepgockchhemajjahpchlnkadiac?hl=enа потом уже в бас его
-
This post is deleted!
-
@Bigma ну я сделал по-колхозному, получил список одних значений, потом список других значений и дальше через функции объединял. Коряво, но задачу решил.
А так вопрос остается открытым, так как я уже не впервые с такой проблемой сталкиваюсь и костыли при большом количестве значений тормозят скрипт. Терпимо, но хочется лучше :)