Вроде бы как работает. Должна брать последний id из монго, идти на сайт и парсиить мангу пока не наткнеться на этот id. потом собирать все в файл, а потом пушить в базу.

This commit is contained in:
zein
2025-11-02 23:33:31 +03:00
commit 960db31f1f
5 changed files with 298 additions and 0 deletions

53
Manga_import.py Normal file
View File

@@ -0,0 +1,53 @@
from pymongo import MongoClient
from pymongo.errors import DuplicateKeyError
import full_img_manga as fim
import Serch_H
def import_from_json():
# Получаем данные
hentai_data = fim.process_hentai_data(hent_data=Serch_H.get_data()) # Это должен быть словарь {название: данные}
num = 29915 + len(hentai_data)
# Проверяем структуру данных
if not isinstance(hentai_data, dict):
print("Ошибка: Данные должны быть в формате словаря {название: данные}")
return
# Обрабатываем данные напрямую без process_hentai_data
for manga_title, manga_data in hentai_data.items():
try:
# Добавляем оригинальное название
manga_data["original_title"] = manga_title
# Проверяем наличие обязательных полей
if "id" not in manga_data:
manga_data["id"] = num
num -= 1
# Добавляем в базу
collection.insert_one(manga_data)
print(f"Успешно добавлено: {manga_title} (ID: {manga_data['id']})")
except DuplicateKeyError:
print(f"Дубликат, пропускаем: {manga_title}")
except Exception as e:
print(f"Ошибка с '{manga_title}': {str(e)}")
if __name__ == "__main__":
# Подключение к MongoDB
client = MongoClient("mongodb://localhost:27017/")
db = client["Manga"]
collection = db["Hentai_Manga"]
# Создаем индексы
collection.create_index("id", unique=True)
collection.create_index("original_title")
# Запускаем импорт
print("Начало импорта...")
import_from_json()
print("Импорт завершен!")