Metadata-Version: 2.4
Name: yok-akademik
Version: 1.0.0
Summary: YÖK Akademik — Canlı Akademik Veri Kazıma, AI Agent (MCP) ve Dışa Aktarım Paketi
Home-page: https://github.com/rasitnarcicek/yok-akademik
Author: Mehmet Raşit Narçiçek
Author-email: Mehmet Raşit Narçiçek <rasitnarcicek@gmail.com>
License: MIT
Keywords: yok,yok-akademik,scraper,crawler,playwright,academic-data,turkey-universities,cli,excel,sqlite,researcher
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.25.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: lxml>=4.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: openpyxl>=3.1.0
Provides-Extra: playwright
Requires-Dist: playwright>=1.40.0; extra == "playwright"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# 🚀 YÖK Akademik

<div align="center">

[![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![MCP Server](https://img.shields.io/badge/MCP%20Server-Model%20Context%20Protocol-purple.svg)](https://modelcontextprotocol.io/)
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)]()
[![Engine](https://img.shields.io/badge/engine-HTTPX%20%7C%20Playwright-orange.svg)]()

**Türkiye'deki 207 Üniversite ve 200.000+ Akademisyene Ait Verileri Canlı Kazıma, Analiz, Çoklu Dışa Aktarma ve Yapay Zeka (AI Agent / Model Context Protocol) Motoru**

*Geliştirici: **Mehmet Raşit Narçiçek***

[Kurulum](#-kurulum) • [Yapay Zeka & MCP](#-1-yapay-zeka-ai-agent--mcp-sunucusu) • [Python AI API](#-2-python-ai-kütüphanesi) • [CLI Kullanımı](#-3-komut-satırı-cli--json-modu) • [Özellikler](#-öne-çıkan-özellikler)

---

</div>

## 📌 Proje Hakkında

**YÖK Akademik**, Yükseköğretim Kurulu (YÖK) Akademik Arama platformunda (`akademik.yok.gov.tr`) yer alan tüm akademisyen kadrolarını, makaleleri (SCI/SSCI/TR Dizin/Quartile Q1-Q4), bildirileri, kitapları, patentleri, TÜBİTAK/BAP projelerini, yönetilen tezleri, dersleri ve dış indeks bilgilerini (ORCID, Scopus ID, WoS ID) **doğrudan YÖK Akademik sunucusuna bağlanarak** filtreleyip **Excel (`.xlsx`), CSV, JSON ve SQLite** formatlarında dışa aktarabilen yeni nesil bir veri kazıma ve araştırma motorudur.

Bu repo; **Claude Desktop, Cursor, Windsurf, LangChain, CrewAI, AutoGen ve özel LLM botlarının** doğrudan bağlanıp arka planda serbest doğal dil komutlarıyla veri çekebileceği resmi **Model Context Protocol (MCP)** sunucusu ve yüksek seviyeli Python kütüphanesi olarak tasarlanmıştır.

---

## ✨ Öne Çıkan Özellikler

- 🤖 **Yapay Zeka & MCP Entegrasyonu:** Claude Desktop, Cursor ve LLM Agent'ları için tak-çalıştır standart JSON-RPC Model Context Protocol (MCP) sunucusu.
- 🐍 **Tek Satır Python AI API:** LangChain, CrewAI ve Python botlarında `YokAkademik().search()` ve `get_profile()` ile sıfır konfigürasyon.
- 🏛️ **207 Üniversite & Canlı Dinamik Birim Keşfi:** Statik listelere bağımlı kalmadan, üniversite bünyesindeki tüm güncel fakülte, MYO ve anabilim dallarını YÖK'ten anlık sorgulama.
- 📊 **Tüm Eser ve Faaliyet Sekmeleri:** Kadro & Künye, ORCID/Scopus/WoS ID, Makaleler, Bildiriler, Kitaplar, TÜBİTAK/BAP Projeleri, Yönetilen Tezler, Patentler.
- 💾 **Çoklu Dışa Aktarma:** Tek komutla Excel (`.xlsx`), CSV (`.csv`), JSON (`.json`) ve SQLite (`.db`) çıktıları.
- ⚡ **Said Sürücü Standartlarında Dual-Engine:** HTTP/2 tabanlı hızlı HTTPX istemcisi ve gerektiğinde dinamik JavaScript sayfaları için Playwright Chromium desteği.

---

## 📦 Kurulum

```bash
# 1. Depoyu klonlayın
git clone https://github.com/rasitnarcicek/yok-akademik.git
cd yok-akademik

# 2. Bağımlılıkları yükleyin
pip install -r requirements.txt
```

---

## ⚡ Kullanım Yolları

### 🤖 1. Yapay Zeka (AI Agent & MCP Sunucusu)
Claude Desktop, Cursor veya Windsurf'e aracı bağlamak için `claude_desktop_config.json` dosyasına ekleyin:

```json
{
  "mcpServers": {
    "yok-akademik": {
      "command": "python",
      "args": ["C:\\...\\yok_akademik\\main.py", "mcp"]
    }
  }
}
```

Claude veya Cursor'a doğrudan doğal dille talimat verin:
> *"Boğaziçi ve ODTÜ bilgisayar mühendisliğindeki doçentlerin yapay zeka alanındaki makalelerini çek ve Excel olarak kaydet."*

*Detaylı AI entegrasyon kılavuzu için [`AI_INTEGRATION.md`](AI_INTEGRATION.md) dosyasına bakınız.*

---

### 🐍 2. Python AI Kütüphanesi (`YokAkademik`)

```python
from yok_akademik import YokAkademik

yok = YokAkademik()

# Canlı akademisyen arama
results = yok.search("Yapay Zeka", universities=["Boğaziçi Üniversitesi"], titles=["Prof. Dr."], limit=50)

# Tekil profilin tüm yayın ve projelerini çekme
profile = yok.get_profile("100123")

# Excel ve JSON olarak dışa aktarma
yok.export(results, formats=["xlsx", "json"], prefix="YapayZeka_Prof")
```

---

### 💻 3. Komut Satırı (CLI) & JSON Modu

```bash
# Canlı arama yapıp Excel tablosu oluşturma
python main.py search "Boğaziçi Bilgisayar" --format xlsx --limit 200

# Yapay zeka ve otomasyonlar için saf JSON çıktısı alma
python main.py search "Fizik Prof. Dr." --json

# Tekil profilin tüm sekmelerini çekme
python main.py profile "100123" --format xlsx
```

---

## 📄 Lisans

Bu proje **MIT Lisansı** ile lisanslanmıştır. Detaylar için `LICENSE` dosyasına bakınız.  
Geliştirici: **Mehmet Raşit Narçiçek**
