Шаг 110. Создаем Python-скрипт добавления задачи

pythonГлава 10. Python и SQLite для SEO-автоматизации

Что делаем

Создаем Python-скрипт добавления задачи

Зачем SEO-специалисту

Параметры защищают код от ошибок с кавычками и делают вставку данных понятной.

Код. Вставьте 1 в 1

from pathlib import Path
import sqlite3

db_path = Path("seo_lab_from_zero.db")

task = {
    "page_id": 16,
    "task_text": "Проверить каннибализацию и выбрать основную посадочную",
    "priority": "high",
    "status": "open",
    "created_at": "2026-06-14",
}

sql = '''
INSERT INTO seo_tasks (page_id, task_text, priority, status, created_at)
VALUES (:page_id, :task_text, :priority, :status, :created_at)
'''

with sqlite3.connect(db_path) as connection:
    connection.execute(sql, task)

print("Task inserted")

Построчный разбор: что делает, для чего и как работает

Строка 1: from pathlib import Path — Подключает Path, чтобы работать с путями к файлам аккуратно и переносимо.
Строка 2: import sqlite3 — Подключает встроенный модуль Python для работы с SQLite.
Строка 3: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 4: db_path = Path("seo_lab_from_zero.db") — Создает переменную с путем к файлу базы данных.
Строка 5: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 6: task = { — Создает словарь с данными новой SEO-задачи.
Строка 7: "page_id": 16, — Это строка внутри словаря или списка: конкретное значение, которое попадет в базу.
Строка 8: "task_text": "Проверить каннибализацию и выбрать основную посадочную", — Это строка внутри словаря или списка: конкретное значение, которое попадет в базу.
Строка 9: "priority": "high", — Это строка внутри словаря или списка: конкретное значение, которое попадет в базу.
Строка 10: "status": "open", — Это строка внутри словаря или списка: конкретное значение, которое попадет в базу.
Строка 11: "created_at": "2026-06-14", — Это строка внутри словаря или списка: конкретное значение, которое попадет в базу.
Строка 12: } — Закрывает словарь Python с данными.
Строка 13: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 14: sql = ''' — Создает переменную с SQL-командой для последующего выполнения.
Строка 15: INSERT INTO seo_tasks (page_id, task_text, priority, status, created_at) — Это строка Python-кода, которая помогает открыть базу, выполнить SQL или обработать результат.
Строка 16: VALUES (:page_id, :task_text, :priority, :status, :created_at) — Это строка Python-кода, которая помогает открыть базу, выполнить SQL или обработать результат.
Строка 17: ''' — Закрывает или открывает многострочную строку Python.
Строка 18: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 19: with sqlite3.connect(db_path) as connection: — Открывает подключение к SQLite; Python сам закроет его после блока.
Строка 20: connection.execute(sql, task) — Передает SQL-команду в SQLite через открытое подключение.
Строка 21: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 22: print("Task inserted") — Печатает сообщение в терминал, чтобы вы увидели результат выполнения.

Что должно получиться

Сохраните код в add_task.py. После запуска появится новая задача.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.