- Регистрация
- 04.03.2018
- Сообщения
- 358
- Благодарностей
- 40
- Баллы
- 28
Ребят, нужна помощь!
Видимо я заранее не продумал этот момент и запилил его. Шаблон очень большой.
Столкнулся я с проблемой медленного парсинга во многопотоке.
На компе есть пару сотен папок в которых есть текстовики с ключевыми запросами. На каждую папку своя тематика и соответственно везде ключи разные.
Шаблон создает текстовик с директориями на эти списки с ключевиками - это в один поток буквально одна секунда.
Далее, уже во многопотоке, шаблон берет ссылки на эти списки с ключевиками и начинает из списков брать ключевые слова, и по каждому ключевому слову парсит контент.
Поясняю - к примеру в 10 потоков - шаблон взял 10 ссылок на текстовики с ключевыми словами, загрузил эти ключевые слова во внутренний список, и на каждый ключ начинается парсинг. Условно говоря 10 потоков = парсинг 10 ключей. В принципе все бы ничего но, проблема в том, что этих ключевых слов может быть 500 а может быть и 7000. Если парсить в один поток 1500 ключей, это примерно 30 часов =( парсинг идет на вэбе обходя примерно 25 страниц ПС на каждый ключ потому и выходит так долго. Перепиливать на гет запросы крайне затруднительно на данный момент.
Вопрос - как переделать логику так, что бы шаблон, К ПРИМЕРУ, в ПЯТЬ потоков взял ПЯТЬ списков с ключевиками, и когда начался парсинг каждого списка - каждый поток разделялся к примеру еще на 5 потоков что бы одновременно парсить контент на пять ключей из одного списка?
Поясняю - Шаблон берет список ссылок на списки ключей, далее берет одну ссылку на один список, в один поток, как получил ключи (которых к примеру 3000) поток разделился еще на 5 ПОДпотоков что бы эти ключи быстрее пропарсить.
Есть идеи как это реализовать? Если слишком замудренно, может у кого есть более простое решение?
По возможности в будущем переведу на запросы, но сейчас пока некогда.
Видимо я заранее не продумал этот момент и запилил его. Шаблон очень большой.
Столкнулся я с проблемой медленного парсинга во многопотоке.
На компе есть пару сотен папок в которых есть текстовики с ключевыми запросами. На каждую папку своя тематика и соответственно везде ключи разные.
Шаблон создает текстовик с директориями на эти списки с ключевиками - это в один поток буквально одна секунда.
Далее, уже во многопотоке, шаблон берет ссылки на эти списки с ключевиками и начинает из списков брать ключевые слова, и по каждому ключевому слову парсит контент.
Поясняю - к примеру в 10 потоков - шаблон взял 10 ссылок на текстовики с ключевыми словами, загрузил эти ключевые слова во внутренний список, и на каждый ключ начинается парсинг. Условно говоря 10 потоков = парсинг 10 ключей. В принципе все бы ничего но, проблема в том, что этих ключевых слов может быть 500 а может быть и 7000. Если парсить в один поток 1500 ключей, это примерно 30 часов =( парсинг идет на вэбе обходя примерно 25 страниц ПС на каждый ключ потому и выходит так долго. Перепиливать на гет запросы крайне затруднительно на данный момент.
Вопрос - как переделать логику так, что бы шаблон, К ПРИМЕРУ, в ПЯТЬ потоков взял ПЯТЬ списков с ключевиками, и когда начался парсинг каждого списка - каждый поток разделялся к примеру еще на 5 потоков что бы одновременно парсить контент на пять ключей из одного списка?
Поясняю - Шаблон берет список ссылок на списки ключей, далее берет одну ссылку на один список, в один поток, как получил ключи (которых к примеру 3000) поток разделился еще на 5 ПОДпотоков что бы эти ключи быстрее пропарсить.
Есть идеи как это реализовать? Если слишком замудренно, может у кого есть более простое решение?
По возможности в будущем переведу на запросы, но сейчас пока некогда.