Skip to main content

Ekşi Sözlük Scraper - AI-friendly output üreten terminal tabanlı scraper

Project description

eksisozluk-scraper

Terminal tabanlı Ekşi Sözlük scraper'ı. Çıktısı AI-friendly formatlarda: JSON (varsayılan), CSV ve Markdown.

Cursor (yapay zeka) ile yazılmıştır.

Özellikler

  • ✅ Terminal tabanlı CLI arayüzü
  • ✅ Tab completion desteği (bash/zsh/fish)
  • ✅ Çoklu çıktı formatı desteği (JSON, CSV, Markdown)
  • ✅ Format otomatik tespiti (dosya uzantısından)
  • ✅ Başlık bazlı tüm entry scraping
  • ✅ Zaman aralığına göre filtreleme (gün/hafta/ay/yıl)
  • ✅ Spesifik entry'den itibaren scraping
  • ✅ Rate limiting
  • ✅ Hata durumunda otomatik retry mekanizması

Kurulum

Pip ile Kurulum (Önerilen)

PyPI'den kurulum:

pip install eksisozluk-scraper

Python paketi olarak kurulum yapmak için:

# GitHub'dan direkt kurulum
pip install git+https://github.com/erenseymen/eksisozluk-scraper.git

Diğer Paket Formatları

Debian Package RPM Package AUR Package Windows Executable

Alternatif metod: Python Script Olarak Çalıştırma

Python scriptini doğrudan çalıştırabilirsiniz:

# Repoyu klonla
git clone https://github.com/erenseymen/eksisozluk-scraper.git
cd eksisozluk-scraper

# Bağımlılıkları kur
pip3 install -r requirements.txt

# Scripti çalıştır
python3 eksisozluk_scraper.py "başlık adı"

Kullanım

Temel Kullanım

# Başlıktaki tüm entry'leri scrape et
eksisozluk-scraper "başlık adı"

Zaman Filtreleme

# Son 1 günlük entry'ler
eksisozluk-scraper "başlık adı" --days 1

# Son 2 haftalık entry'ler
eksisozluk-scraper "başlık adı" --weeks 2

# Son 1 aylık entry'ler
eksisozluk-scraper "başlık adı" --months 1

# Son 1 yıllık entry'ler
eksisozluk-scraper "başlık adı" --years 1

Maksimum Entry Sayısı

# Maksimum 100 entry scrape et
eksisozluk-scraper "başlık adı" --max-entries 100

Belirli Entry'den İtibaren Scrape Etme

eksisozluk-scraper "https://eksisozluk.com/entry/entry-id"

Çıktıyı Dosyaya Kaydetme

Scraper, çıktı formatını dosya uzantısından otomatik olarak tespit eder:

# JSON formatı (varsayılan)
eksisozluk-scraper "başlık adı" --output sonuclar.json

# CSV formatı
eksisozluk-scraper "başlık adı" --output sonuclar.csv

# Markdown formatı
eksisozluk-scraper "başlık adı" --output sonuclar.md
# veya
eksisozluk-scraper "başlık adı" --output sonuclar.markdown

Gelişmiş Parametreler

# Request'ler arası bekleme süresi (varsayılan: 1.5 saniye)
eksisozluk-scraper "başlık adı" --delay 2.0

# Maksimum retry sayısı (varsayılan: 3)
eksisozluk-scraper "başlık adı" --max-retries 5

# Retry arası bekleme (varsayılan: 5.0 saniye)
eksisozluk-scraper "başlık adı" --retry-delay 10.0

# Referans edilen entry'leri fetch etme (varsayılan: True)
eksisozluk-scraper "başlık adı" --no-bkz

Notlar

  • Scraper, Ekşi Sözlük'e aşırı yük bindirmemek için her request arasında varsayılan 1.5 saniye bekler.
  • Hata durumlarında otomatik olarak belirli aralıklarla tekrar dener.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eksisozluk_scraper-1.1.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eksisozluk_scraper-1.1.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file eksisozluk_scraper-1.1.0.tar.gz.

File metadata

  • Download URL: eksisozluk_scraper-1.1.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for eksisozluk_scraper-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0453c599d4e396b48a01c2c177bfce311c429d849b021b25cff94972210fc451
MD5 a112b9cdf50dfc5f34c4a60597c40856
BLAKE2b-256 f2bbcd668da912a286cd2f8b5fa7b45f913f2e8eae97f82c11cbec8e22f1f6d6

See more details on using hashes here.

File details

Details for the file eksisozluk_scraper-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for eksisozluk_scraper-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9ca49f23f54e0c5da46cd1b4a4b6388bd12ed721721b23cd8bed3030eecbd97
MD5 667218f2c7e933e0ea905decea3e0891
BLAKE2b-256 12dd0d1849dfdfc78bcc779717964f9e764ac03449c978e75102ae68ea8153da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page