Token导航 LogoToken导航TokenDH.com
ILK MCP logo
文档知识stdio官方级别未说明来源级核验

ILK MCP

MCP Server

Project Hermes是一个自动化数据工程管道,用于从互联网资源(Web、PDF、电子书、Flipbook)收集信息,清理信息并转换为高质量的AI训练数据集。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python文档处理知识管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Anubis44197

提供方

Anubis44197

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

Python 3.8+

详细介绍

📜 Project Hermes: Esoteric Data Refinery & Automation

Bu proje, internet üzerindeki herhangi bir kaynaktan (Web, PDF, E-Kitap, Flipbook) bilgi toplamak, bu bilgiyi temizlemek (Rafine Etmek) ve Yapay Zeka (LLM) eğitimine uygun, yüksek kaliteli veri setlerine dönüştürmek için tasarlanmış tam otomatik bir Veri Mühendisliği Boru Hattıdır (Data Engineering Pipeline).

Güncel Sürüm: v6.0 (2-Platform Sistem: Fliphtml5 + Ata E-Kitap)


📋 İçindekiler

  1. Sistem Mimarisi
  2. Desteklenen Formatlar
  3. Özellikler
  4. Kurulum
  5. Kullanım
  6. Teknik Detaylar
  7. Sürüm Tarihi

🏗️ Sistem Mimarisi

INPUT (İnternet Kaynakları)
  ├─ Fliphtml5 Kütüphaneleri (fliphtml5.com) ✅
  ├─ Ata E-Kitap (ataekitap.com) ✅
  ├─ Doğrudan PDF Dosyaları
  └─ Genel Flipbook Platformları

        ↓ [FORMAT DETECTION - 3-Seviye Kaskad]

DOWNLOADER (indir.py)
  ├─ Fliphtml5: WebP → PDF Dönüştürme
  ├─ Ata E-Kitap: HTML Extract + PDF Bundle
  ├─ PDF Direct: İndirme + Validasyon
  └─ Generic: İmaj Seri → PDF

        ↓ [CLEANUP - arsiv_temizleyici.py]

PROCESSOR
  ├─ OCR (PaddleOCR)
  ├─ Metin Normalizasyonu
  ├─ Dil Algılama & Transliterasyonu
  └─ Metadata Çıkarımı

        ↓ [QUALITY CONTROL]

OUTPUT (LLM-Ready Dataset)
  └─ Türkçe Akademik Metin Veri Seti

📥 Desteklenen Formatlar (v6.0 - 2 Platform)

1️⃣ Fliphtml5 (YENİ - v5.8)

  • URL Örneği: https://online.fliphtml5.com/ysmd/wwrg/#p=1
  • Algılama: URL'de "fliphtml5.com" kelimesi ✅
  • İndirme Metodu:

- Config dosyası fetshi: /javascript/config.js - JSON parsing: htmlConfig değişkeni - Sayfa listesi: config['fliphtml5_pages'] array'i - WebP download: /files/large/{filename}.webp - Rate limiting: Her 20 sayfada 1 saniyelik pause - PDF dönüştürme: PIL (Pillow) ile WebP sırası → PDF

  • Test Sonucu: 193 sayfa → 44.37 MB PDF (~60 saniye)
  • Detay: indir.py satırları 283-365

2️⃣ Ata E-Kitap (Orijinal)

  • URL Örneği: https://online.ataekitap.com/kitaplar/...
  • Algılama: HTML'de data-ebook-path attribute'ü ✅
  • İndirme Metodu:

- HTML parsing → data-ebook-path çıkarımı - Base path tespiti - Sayfa bitmap'leri bundle'ı download - PDF bundlesi oluşturma

  • Detay: indir.py satırı 253

3️⃣ Doğrudan PDF

  • URL Örneği: https://example.com/book.pdf
  • Algılama: URL .pdf ile bitiyorsa ✅
  • İndirme Metodu: Doğrudan HTTP GET
  • Detay: indir.py satırları 485-488

4️⃣ Genel Flipbook (Fallback)

  • Algılama: Diğer hiçbiri uyuşmazsa
  • İndirme Metodu: İmaj seri algılaması → PDF dönüştürme

✨ Ana Özellikler

🤖 Bot Detection Evasion (Alegoriklik)

# Modern Chrome User-Agent + Rate Limiting
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Referer': base_url,
    'Cache-Control': 'no-cache',
    'Pragma': 'no-cache'
}
# Max 3 concurrent, 60s timeout, 1s pause/20 sayfa

🔄 Multi-Format Cascading Detection

# indir.py içinde (satırlar 461-513)
if detect_fliphtml5(flipbook_url):         # Fliphtml5 mı?
    return await download_fliphtml5_book()  # Evet → WebP→PDF
elif await extract_ebook_path(...):        # Ata E-Kitap mı?
    # PDF process devam et
elif flipbook_url.endswith('.pdf'):        # Doğrudan PDF mı?
    # PDF download
else:                                       # Fallback
    # Generic flipbook handler

📊 Format Detection Test Sonuçları (v5.8)

✅ Fliphtml5 Tespiti: https://online.fliphtml5.com/ysmd/wwrg/#p=1
   detect_fliphtml5() = True
   İndirilen Sayfalar: 193
   Son PDF: 44.37 MB
   İşlem Süresi: ~60 saniye
   
✅ Ata E-Kitap Tespiti: https://online.ataekitap.com/kitaplar/...
   detect_fliphtml5() = False (Doğru!)
   Fallback Handler: Ata E-Kitap Extract
   Durum: ÇALIŞIYOR ✓
   
✅ Format Cascading: Tüm 4 format senaryosu test edildi
   Status: VERIFIED ✓

🧹 Otomatik Temizlik Pipeline

  • arsiv_temizleyici.py: PDF'ler üzerinde:

- Metadata temizleme - Gömülü yazı tiplerini optimize etme - Resim sıkıştırması - Aşamalı silme (corrupt dosya ayıklama)

🔍 OCR + NLP Processing

  • PaddleOCR: Türkçe metin algılama
  • Dil Algılama: tr/en/ar otomatik
  • Transliterasyon: Arap → Latin dönüştürme
  • Metin Normalizasyonu: Boşluk, satır sonu, özel karakterler

🚀 Kurulum

Gereksinimler

Python 3.8+
pip install -r requirements.txt

requirements.txt İçeriği

httpx>=0.24.0           # Async HTTP client + modern User-Agent
beautifulsoup4>=4.12.0  # HTML parsing
lxml>=4.9.0             # BS4 backend
Pillow>=9.5.0           # WebP → PDF conversion
PaddleOCR>=2.7.0.3      # OCR (Türkçe support)
paddlepaddle>=2.5.0     # PaddleOCR dependency

Kurulum Adımları

# 1. Repo klonla
git clone https://github.com/...
cd ILK-MCP-main

# 2. Virtual environment oluştur (önerilir)
python -m venv venv
venv\Scripts\activate  # Windows
source venv/bin/activate  # Linux/Mac

# 3. Bağımlılıkları yükle
pip install -r requirements.txt

# 4. Menu'den başlat (Türkçe arayüz)
python menu.py

💻 Kullanım

🎯 Menü Modları (menu.py)

1. Manuel Mode (Önerilen - Başlayanlar İçin)

[Seçenek 1: Manual Mode]
├─ URL girin (Fliphtml5/Ata E-Kitap/PDF)
├─ Sistem otomatik format algılar
├─ İndirme başlar (konsolda detay görürsünüz)
└─ Çıkış klasörü: ./test_output/

Örnek Çalışma:

$ python menu.py
> Seçim: 1
> Kitap URL'sini girin: https://online.fliphtml5.com/ysmd/wwrg/
> Fliphtml5 algılandı! ✅
> İndiriliyor: Sayfa 1/193...
> İndiriliyor: Sayfa 50/193...
> PDF oluşturuluyor...
> Başarı! Çıktı: test_output/Fliphtml5_Downloaded.pdf (44.37 MB)

2. Batch Mode (İleri Kullanıcılar)

  • CSV dosyasından URL listesi oku
  • Tüm kitapları birbirinden bağımsız indir
  • Paralel işleme (3 concurrent)

3. Archive Cleaning (Post-Processing)

python arsiv_temizleyici.py
> Klasör seçin: ./test_output/
> Tüm PDF'ler optimize edildi ✅

🔧 Teknik Detaylar

Fliphtml5 Handler (indir.py, satırlar 287-365)

Step 1: Config Fetshi

config_url = f"{base_url_clean}/javascript/config.js"
# base_url_clean = base_url.split("#")[0]  # Fragment temizleme
response = await client.get(config_url)

Step 2: JSON Extraction

# config.js içinde: var htmlConfig = {...};
pattern = r'var htmlConfig = (\{.*?\});'
match = re.search(pattern, response.text)
config = json.loads(match.group(1))

Step 3: Page List Parsing

pages = config['fliphtml5_pages']
# Her sayfa: {'n': ['filename.webp'], 't': './files/thumb/...'}
for i, page_item in enumerate(pages):
    page_filename = page_item['n'][0]  # Dict'ten string al

Step 4: WebP Download (Rate Limited)

for i, page_item in enumerate(pages):
    page_filename = page_item['n'][0]
    page_url = f"{base_url_clean}/files/large/{page_filename}"
    response = await client.get(page_url)
    images.append(Image.open(BytesIO(response.content)))
    
    if (i + 1) % 20 == 0:
        await asyncio.sleep(1)  # Bot evasion

Step 5: PDF Creation

# Pillow kullanarak WebP array'ini PDF'ye dönüştür
images[0].save(output_path, save_all=True, append_images=images[1:])

URL Fragment Handling (Kritik Fix - v5.8)

# PROBLEM: https://online.fliphtml5.com/ysmd/wwrg/#p=1
#          config.js fetch'i başarısız (#p=1 fragment'i sorun çıkartıyor)

# ÇÖZÜM:
base_url_clean = base_url.split("#")[0]  # Fragment temizle
# SONUÇ: https://online.fliphtml5.com/ysmd/wwrg/

Format Detection Cascading (v5.8)

# Detaylı kod: indir.py satırları 461-513

async def download_worker_full(flipbook_url, ...):
    # Step 1: Fliphtml5 mı? (SYNC CHECK - En hızlı)
    if detect_fliphtml5(flipbook_url):
        result = await download_fliphtml5_book(...)
        
    # Step 2: Ata E-Kitap mı? (HTML PARSE REQUIRED)
    else:
        ebook_path = await extract_ebook_path(...)
        if ebook_path:
            # PDF processing devam et
            
    # Step 3: Doğrudan PDF mı?
    elif flipbook_url.endswith('.pdf'):
        # Direct download
        
    # Step 4: Fallback generic handler
    else:
        # Generic flipbook processing

Gerekli Bağımlılıklar (Minimal Stack)

KütüphaneSürümKullanımNot
httpx≥0.24.0Async HTTP + Modern UABot evasion headers
BeautifulSoup4≥4.12.0HTML ParsingAta E-Kitap extract
Pillow (PIL)≥9.5.0WebP → PDFFliphtml5 conversion
lxml≥4.9.0BS4 backendHTML parser
PaddleOCR≥2.7.0.3OCRTürkçe support

📝 Sürüm Tarihi

v5.8 (Son - Fliphtml5 Tam Desteği)

Eklenen Özellikler:

  • ✅ Fliphtml5 Kütüphane Desteği (fliphtml5.com)
  • ✅ Multi-Format Cascading Detection (4-level)
  • ✅ WebP → PDF Dönüştürme Pipeline
  • ✅ URL Fragment Cleanup (#p=1 fix)
  • ✅ Rate Limiting & Bot Evasion

Test Sonuçları:

Fliphtml5_Esoteric.pdf
├─ Toplam Sayfalar: 193
├─ Dosya Boyutu: 44.37 MB
├─ İndirme Süresi: ~60 saniye
├─ Format Algılama: ✅ PASSED
├─ PDF Kalitesi: ✅ PERFECT (Acrobat Reader'da doğru açılıyor)
└─ Hata Oranı: 0/193

Test Sayfası:

URL: https://online.fliphtml5.com/ysmd/wwrg/#p=1
Test Tarihi: [Son Çalıştırma]
Sonuç: SUCCESS ✓

Kod Değişiklikleri:

  • indir.py: +83 satır (Fliphtml5 handler eklenmiş)
  • indir.py satırı 283: detect_fliphtml5() function
  • indir.py satırı 287: download_fliphtml5_book() handler
  • indir.py satırı 461: Manual mode cascading detection

Temizlik (Cleanup):

  • ❌ Silinen: 9x Fliphtml5 investigation script
  • ❌ Silinen: 5x test script (.mypy_cache, __pycache__)
  • ✅ Sonuç: Production-ready state

v5.5 (Önceki)

  • Quality Inspector Update
  • OCR optimization

v5.0+

  • Original Ata E-Kitap support
  • Archive cleaner
  • Basic NLP pipeline

🐛 Bilinen Sorunlar & Çözümleri

✅ URL Fragment Problemi (v5.8 FIXED)

Problem: https://online.fliphtml5.com/ysmd/wwrg/#p=1
Error: config.js fetch başarısız (#p=1 fragment sorun çıkartıyor)
Çözüm: base_url.split("#")[0] ile temizle
Status: FIXED ✓

✅ Page Item Structure (v5.8 FIXED)

Problem: pages['n'] string yerine dict yapısı
Error: TypeError: 'dict' object is not subscriptable
Çözüm: page_item['n'][0] ile dict'ten string al
Status: FIXED ✓

✅ Async Function Type (v5.8 FIXED)

Problem: detect_fliphtml5() async def olarak tanımlandı
Error: await gereksiz, sync check yeterli
Çözüm: async def → def değiştirildi
Status: FIXED ✓

📞 Destek & İletişim

İssue Rapor Etmek:

  1. GitHub Issues'te bug açın
  2. Detaylı URL ve hata mesajı ekleyin
  3. test_output klasörü .zip'lemesi ekleyin

Öneriler & Gelişmeler:

  • Discussion tab'ında fikirlerinizi paylaşın
  • Feature request'leri açın (başlık: [FEATURE])

📄 Lisans

Bu proje esoteric kütüphanelerin dijitalleştirilmesi için tasarlanmıştır. Lütfen yerel yasalara ve platform kullanım koşullarına uyunuz.


🙏 Teşekkür

  • Fliphtml5 mimarisi reverse-engineering'i: Sistematik investigation scriptleri
  • WebP format support: PIL/Pillow
  • Türkçe OCR: PaddleOCR Community
  • Async concurrency: httpx + asyncio

Son Güncelleme: v6.0 - İsem Dijital Kaldırıldı, 2-Platform Sistem (Fliphtml5 + Ata E-Kitap) Durum: Production Ready ✅ Test Coverage: - 193 sayfa Fliphtml5 ✅ - 900+ sayfa Ata E-Kitap ✅ - 3-level Cascading Detection ✅


📋 Sürüm Tarihi (Changelog)

v6.0 (18 Aralık 2025) - PRODUCTION READY

Büyük Değişiklik: İsem Dijital Desteği Kaldırıldı

✅ Yapılan İşlemler:

  • ❌ İsem Dijital (isemdijital.com) platformu tamamen kaldırıldı
  • 🗑️ 30+ İsem test dosyası silindi
  • 🗑️ 4 İsem test klasörü silindi
  • 🗑️ 100+ eski debug/test dosyası silindi
  • 🧹 Steganographia assets klasörü temizlendi
  • ✅ Cascade detection optimize edildi (4-seviye → 3-seviye)
  • ✅ Kod temizlendi (İsem referansı = 0)
  • ✅ README.md v6.0'a güncellendi

📊 Güncel Platform Desteği:

PlatformDurumTestNot
Fliphtml5✅ Aktif193 sayfaProduction Ready
Ata E-Kitap✅ Aktif900+ sayfaProduction Ready
Generic Flipbook✅ Fallback-Backup Handler

🔧 Core Functions (v6.0):

  1. detect_fliphtml5(url) - Fliphtml5 algılama
  2. download_fliphtml5_book() - Fliphtml5 indirme
  3. extract_ebook_path() - Ata E-Kitap algılama
  4. download_flipbook_images() - Generic indirme

🚀 Sistem Durumu:

  • ✅ Python Syntax: OK (4 modül)
  • ✅ Import Test: OK
  • ✅ Cascade Detection: 3/3 Platform
  • ✅ Code Quality: Clean
  • ✅ Deployment: READY

v5.9 (Önceki) - İsem Dijital Experimental

  • İsem Dijital desteği eklendi (proprietary format)
  • 312 sayfa PDF oluşturma başarılı
  • Screenshot-based extraction yöntemi
  • Not: Bu sürüm production'da instable olduğu için v6.0'da kaldırıldı

🔄 Geçiş Kılavuzu (v5.x → v6.0)

İsem Dijital linklerini kullanıyorsanız:

  • UYARI: v6.0'da İsem Dijital desteği kaldırıldı
  • Çözüm: Fliphtml5 veya Ata E-Kitap alternatifleri kullanın

Sistem otomatik olarak fallback handler ile genel flipbook olarak işleyecektir.


v6.1 (18 Aralık 2025) - PORTABILITY & WINDOWS SUPPORT

Windows üzerinde kolay kurulum ve çalışma için iyileştirmeler yapıldı.

✅ Yapılan İyileştirmeler:

  • Otomatik Dizin Algılama: menu.py artık hardcoded (sabit) dosya yolları yerine, çalıştığı dizini otomatik olarak algılıyor. Bu sayede uygulama Masaüstü veya herhangi bir klasörden sorunsuz çalıştırılabilir.
  • Sanal Ortam Entegrasyonu: Baslat.bat, sistem genelindeki Python yerine doğrudan proje içindeki .venv sanal ortamını kullanacak şekilde güncellendi.
  • Kolay Başlatma: Masaüstü kısayolu oluşturma desteği eklendi.
  • Bağımlılıklar: requirements.txt üzerinden eksik kütüphanelerin (httpx, beautifulsoup4, pillow) otomatik yüklenmesi desteklendi.

🔧 Nasıl Güncellenir?

Eğer eski bir sürümden geliyorsanız:

  1. Projeyi son sürüme çekin (git pull).
  2. .venv klasörü varsa, Baslat.bat dosyasını çalıştırın; gerekli ayarlar otomatik yapılacaktır.

目录标签

目录标签

Python文档处理知识管理数据工程本地部署自动化数据收集OCR处理PDF转换AI训练数据

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP