Доработать скрипт обработки текста (Python, Django)

1 000 руб.за час
20 мая 2024, 09:11 • 7 откликов • 148 просмотров
Eсть проект - инструмент для SEO задач.
На данный момент он находится в, мягко говоря, сыром состоянии. Его требуется доработать и создать новый функционал.
Что есть на данный момент:
https://kradslab.com/ - здесь находится интерфейс, сделанный на Django для самого скрипта (работает, если зарегистрироваться). То, что открывается по доменному имени работает на Django. Gunicorn + Nginx. Очередь задач на Celery.
Назначение скрипта - создание ссылок в загружаемом посредством xlsx файла, контенте страниц. Ссылки создаются на основе списка ключевых слов и URL, также загружаемых из xlsx файлов.
Скрипт лемматизирует и текст и ключевые слова, находит совпадения и, если в контент не было URL для ключевого слова, создает ссылку с данным ключевым словом.
Результатом является docx файл, с проставленными ссылками.

В настоящее время скрипт работает, но требует следующих доработок:
  1. Cейчас скрипт принимает на вход только xlsx файлы, в которых есть ограничения по длине контента в ячейке. Требуется добавить возможность подавать на вход данные в файлах csv автоматически определяя разделитель и кодировку файла. Это касается как файла с ключевыми словами, так и файла с контентом.
  2. В результате работы скрипта должен создаваться не только файл в docx формате, а также в xlsx или в csv.
  3. Добавить возможность приоритезации ключевых слов. Сейчас, если в файле с ключевыми словами для одного URL указано несколько ключевых фраз, то сначала скрипт ищет наиболее длинные ключевые фразы.
    Требуется добавить возможность указать приоритет для каждого ключевого слова (числовое значение, целое число).
    Приоритет должен указываться в отдельном столбце в файле с ключевыми фразами.
    Данный столбец должен быть опциональным. Т.е. его наличие не должно быть обязательным.
    Если для каких-то ключевых фраз с одним и тем же URL указаны одинаковые приоритеты, то в таком случае должен осуществляться поиск наиболее длинных среди них.
    Если для каких-то фраз указан приоритет, а для каких-то нет, то для тех, где он не указан следует считать, что приоритет 0.
  4. Добавить возможность использования перестановок слов.
    Если опция включена, скрипт должен проверять все возможные комбинации слов из ключевых фраз.
    Например, если в ключевых фразах есть "молоко купить", то скрипт должен найти как фразу "молоко купить", так и "купить молоко".
    При этом в первую очередь должны всё равно искаться слова без перестановок, а затем уже с перестановками.
  5. Генерация Word файла без HTML разметки. При генерации Word файла должна удаляться лишняя HTML разметка.
    Лишней считаем ту, которая не оказывает влияния на внешний вид документа. Остальная разметка должна быть преобразована.
    Таким образом, например, все теги h должны быть преобразованы в заголовки с соответствующими размерами шрифтов.
    Вот список того, что должно преобразовываться:
    h1-h6
    a (cсылки - уже сделано)
    p
    br
    table (включая tr, th, td)
    thead
    tfoot
    ul, ol (включая li)
    dl, dt, ddОстальные теги просто удаляем (саму разметку).
    Существует исключение: внутри некоторых ссылок могут быть картинки. Если возможно, теги img не удалять полностью, а оставлять от них только тег и атрибут alt .