@If-so-girl1

Python какими средствами проанализировать массив строк и выделить наиболее употребляемую маску?

Мне необходимо проанализировать массив url-ов, и выделить каким-то образом часто употребляемую маску ссылки. К примеру, у меня есть такие url-ы:
"lenta.ru/articles/2014/10/08/mosclassicgp"
"lenta.ru/photo/2014/10/07/longway"
"lenta.ru/photo/2014/10/03/misstuning"
"lenta.ru/photo/2014/08/27/nivajpg"
"lenta.ru/photo/2014/02/18/dynamic"
"lenta.ru/news/2014/10/08/nsxprice"
"lenta.ru/autosport"

При визуальном анализе можно выделить, что наиболее часто использующаяся маска будет lenta.ru/photo<4цифры>/<2 цифры>/<2 цифры>/<текст>
Хотелось бы что-то подобное автоматизированными средствами, может, какие-то библиотеки есть для этого, ну или на крайний случай алгоритм какой-то.
  • Вопрос задан
  • 2550 просмотров
Пригласить эксперта
Ответы на вопрос 1
vvpoloskin
@vvpoloskin
Инженер связи
Библиотеки специфичной навряд ли найдете, но алгоритм предельно прост:

# Критерии
def isdigits(str):
   for i in str:
      if not i.isdigit()
         return False
   return True

def istext(str):
# какая-то логика

token = ("type_of_token", "value_of_token", len("value_of_token"))

def process_link(link):
   tokenlist = []
   for i in link.split('/'):
      if isdigit(i):
         tokenlist.append(("digit", i, len(i))
      if istext():
         tokenlist.append(("text", i, len(i))
   return tokenlist


Остается только получить список токенов для каждой ссылки и посчитать похожие варианты)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы