commit 9630a33ec173c7dda90e9e8a8b83998b57462df7 Author: Beyhan Oğur Date: Sun Apr 26 22:00:50 2026 +0300 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10af258 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.venv/ +__pycache__/ +*.pyc +.env +data/ +*.csv +*.xlsx +*.json +.pytest_cache/ +playwright-report/ +test-results/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..2047024 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# 🕷️ Web Scraping & RAG MCP Server Projesi + +Bu proje, çeşitli web sitelerindeki (özellikle yazılım dokümantasyonlarındaki) verileri toplayan, temizleyerek Markdown formatına getiren ve ardından bu verileri lokal bir yapay zeka vektör veritabanına aktararak **Model Context Protocol (MCP)** üzerinden dışarıya bir araç (tool) olarak sunan kapsamlı bir sistemdir. + +## 🌟 Sistemin Modülleri + +Proje temel olarak 3 ana modülden oluşmaktadır: + +### 1. Web Scraping Altyapısı (Kazıyıcılar) +- **`scraper/static_scraper.py`**: `requests` ve `BeautifulSoup` kullanarak statik ve çok hızlı veri çekmek içindir. +- **`scraper/dynamic_scraper.py`**: `Playwright` kullanarak JavaScript ile render olan (dinamik) sitelerden veri çekmek içindir. +- **`main.py`**: Bu temel kazıyıcıların örnek kullanımını ve sonuçların `data/*.csv` formatında kaydedilmesini içerir. + +### 2. Docs to Markdown Crawler (Doküman Örümceği) +- **`scraper/docs_crawler.py`**: Belirli bir dokümantasyon adresini (örneğin Next.js veya Nuxt) başlangıç kabul ederek o site içindeki tüm bağlantıları (linkleri) gezen sistemdir. +- **Nasıl Çalışır?**: Girdiği sayfalardaki menü (`