Есть скрипт генерирования мета-кейвордов, нужно расширить условия: strip_tags django.utils.html strip_tags. Запретить - strip_tags - захватывать keywords в: "a href=" ... ", script ... /script" и т.д и т.п....
import re
import collections
from io import StringIO
from django.utils.html import strip_tags
# Подсчитывает слова в файлах шаблонов и вставляет ключевые слова на страницу
WORD_COUNT_MIN = 2
WORD_LENGTH_MIN = 4
# Необязательный список слов, которые вы можете не использовать в качестве мета-тегов.
nogo_list = (
[]
# ['event', 'current', 'function', 'parent']
)
# meta_keywords ( html строка ) =>
# # возвращает список ключевых слов, отличных от html, в виде строки, разделенной запятыми,
# для слов, соответствующих квалификации, выбранной выше.
def meta_keywords(str_file):
key_object = collections.Counter()
strio_object = StringIO(str_file)
for line in strio_object.readlines():
key_object.update(re.findall(r"[\w]+", strip_tags(line).lower()))
wordlist = []
for word, count in key_object.most_common():
if (
len(word) > (WORD_LENGTH_MIN - 2)
and count > (WORD_COUNT_MIN - 4)
and word not in nogo_list
):
wordlist.append(word)
return ', '.join(wordlist)