SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

turkce-akademik-tarayici

Documentos

Tezara/YÖK tezleri ve DergiPark makalelerinden halüsinasyon-sıfır metaveri, BibTeX/RIS/APA7 atıf, PDF indirme. Tetikleyiciler: Tezara, YÖK tez, DergiPark, Türkçe makale, bibliometric analiz.

1estrelas
Ver no GitHub ↗Autor: mustafasneuLicença: MIT

Türkçe Akademik Kaynak Tarayıcı

Genel Bakış

Bu skill iki kanonik Türkçe akademik kaynaktan veri çeker:

  • Tezara (tezara.org) — YÖK Ulusal Tez Merkezi'nin temizlenmiş, filtrelenebilir, toplu indirme destekli arayüzü
  • DergiPark (dergipark.org.tr) — Türkiye akademik dergi platformu, ULAKBIM altyapısı, Google Scholar uyumlu metadata

Temel prensip: Halüsinasyon sıfır. Skill yalnızca fetch'lenen URL'lerden gelen metadata ile çalışır. LLM'in hafızasından gelen hiçbir yazar/yıl/başlık/DOI kabul edilmez. Eksik alan varsa "veri yok" döner, asla uydurmaz.

Hızlı Referans

GörevModülÇıktı
Tezara'da tez aratezara/search.pyCSV + JSON
Tek tez metaveri çektezara/thesis_detail.pyJSON
Tezara PDF indir (izinli)tezara/pdf_download.pyPDF
DergiPark'ta makale aradergipark/search.pyCSV + JSON
Tek makale metaveri çekdergipark/article_metadata.pyJSON
DergiPark BibTeX (resmi)dergipark/citation_fetch.py.bib
DergiPark RIS (resmi)dergipark/citation_fetch.py.ris
DergiPark PDF indirdergipark/pdf_download.pyPDF
BibTeX/CSL-JSON/RIS üret (Tezara)shared/citation_export.py.bib, .json, .ris
Tekrar tespitishared/deduplication.pyFiltrelenmiş liste
CrossRef doğrulama (opsiyonel)shared/crossref_verify.pyDoğrulama raporu
Audit logshared/audit.pyprovenance.json

Halüsinasyon-Sıfır Üç Katmanı

Katman 1 — Hard Rule

  • Skill yalnızca gerçekten fetch edilen URL'lerden gelen metadata kullanır
  • LLM'in hafızasından gelen hiçbir alan kabul edilmez
  • Eksik alan = null (uydurma yok)
  • Her atıfta source_url zorunlu
  • Tezara için: tez_no varsa metadata var, yoksa null
  • DergiPark için: citation_* meta tag yoksa null

Katman 2 — Çapraz Doğrulama (opsiyonel: --verify-crossref)

  • Default: kapalı (DergiPark zaten temiz veri veriyor)
  • DOI varsa → CrossRef API ile yazar/yıl/dergi tutarlılık kontrolü
  • Tutarsızlık → flag + manuel inceleme uyarısı
  • Tezara'da DOI olmadığı için bu katman sadece DergiPark için anlamlı

Katman 3 — Audit Log (her zaman aktif)

Her fetch işlemi için JSON kaydı:

{
  "citation_id": "...",
  "source_url": "https://tezara.org/theses/146683",
  "fetched_at": "2026-05-05T...",
  "raw_html_hash": "sha256:...",
  "extracted_fields": {...},
  "verification_status": "verified|partial|failed|skipped",
  "pdf_downloaded": true,
  "pdf_path": "...",
  "license": "..."
}

Modüller

1. Tezara

Arama (tezara/search.py)

Strateji: HTML scraping + URL pattern.

URL Pattern:

tezara.org/search?q={kelime}
                  &languages={dil1,dil2}
                  &thesis-types={tür1,tür2}
                  &universities={üni1,üni2}
                  &subjects={konu1,konu2}
                  &advanced=true

Filtreler:

  • Anahtar kelime (başlık + özet)
  • Yıl aralığı
  • Üniversite (tek veya çoklu)
  • Tez türü (Yüksek Lisans, Doktora, Tıpta Uzmanlık, Sanatta Yeterlilik)
  • Dil (Türkçe, İngilizce, Arapça, Kırgızca, vb.)
  • Konu/Bilim Dalı

Çıktı: Tüm sonuçların CSV + JSON dökümü (YÖK 2000 sınırı yok).

Tez Detayı (tezara/thesis_detail.py)

URL pattern: tezara.org/theses/{tez_no}

Çekilen alanlar:

  • Tez No (kanonik ID)
  • Yazar
  • Başlık (TR + EN)
  • Danışmanlar (çoklu)
  • Tez Türü
  • Konular (TR + EN)
  • Anahtar Kelimeler
  • Yıl
  • Dil
  • Üniversite
  • Enstitü
  • Ana Bilim Dalı
  • Bilim Dalı
  • Sayfa Sayısı
  • Özet (TR + EN)
  • PDF URL (varsa)
  • Benzer Tezler (5 öneri)

Boş alanlar: "Belirtilmemiş."null olarak normalize edilir.

PDF İndirme (tezara/pdf_download.py)

  • Tezara, PDF için YÖK'e yönlendiriyor: tez.yok.gov.tr/UlusalTezMerkezi/TezGoster?key=...
  • Sadece izinli tezler indirilebilir (yazar izni vermişse)
  • İzinsiz tez varsa → "PDF erişime kapalı" mesajı + metadata yine döner
  • Rate limit: dosya başına 2 saniye gecikme
  • Dosya adı: tezara_{tez_no}_{yazar_soyad}_{yıl}.pdf

2. DergiPark

Arama (dergipark/search.py)

Strateji: HTML scraping + URL pattern.

URL Pattern:

dergipark.org.tr/tr/search?q={kelime}
                          &section=articles

Tam eşleşme için q="kelime" (URL-encoded olarak %22kelime%22).

Makale Detayı (dergipark/article_metadata.py)

URL pattern: dergipark.org.tr/tr/pub/{dergi}/article/{id}

Strateji: Google Scholar uyumlu citation_* meta tag parse

Çekilen alanlar (zengin metadata):

  • DOI (citation_doi)
  • Başlık (citation_title)
  • Yazarlar — çoklu (citation_author)
  • Yazar kurumu (citation_author_institution)
  • Yazar ORCID (citation_author_orcid)
  • Dergi (citation_journal_title)
  • ISSN (citation_issn)
  • Cilt, Sayı, İlk Sayfa, Son Sayfa
  • Yayın Tarihi (citation_publication_date)
  • Anahtar Kelimeler (TR + EN)
  • Dil (citation_language)
  • Yayıncı (citation_publisher)
  • PDF URL (citation_pdf_url)
  • Özet (TR + EN, citation_abstract)
  • Kaynaklar — çoklu (citation_reference)
  • Makale Türü (Araştırma/Derleme/vb.)
  • Erken görünüm, gönderilme, kabul tarihleri
  • Lisans (CC BY-NC vb.)
  • Cited By listesi (DOI'leriyle)
  • Crossref atıf sayısı

Yedek parse kaynağı: Dublin Core (DC.*) meta tag'leri (OAI-PMH uyumlu).

Atıf Export (dergipark/citation_fetch.py)

ALTIN ÖZELLİK: DergiPark'tan resmi atıf export.

Endpoint'ler:

  • BibTeX: /tr/download/article-cite-file/{id}/type/2
  • RIS: /tr/download/article-cite-file/{id}/type/6

Bu endpoint'ler hazır, doğrulanmış atıf dosyaları döner. Skill bu dosyaları olduğu gibi alır, ek işlem yapmaz. Halüsinasyon imkânsız.

PDF İndirme (dergipark/pdf_download.py)

  • DergiPark çoğunlukla CC BY-NC lisansı (açık erişim)
  • PDF URL: citation_pdf_url alanından gelir
  • Dosya adı: dergipark_{dergi}_{yıl}_{yazar_soyad}_{id}.pdf
  • Rate limit: dosya başına 2 saniye gecikme
  • Lisans bilgisi audit log'a kaydedilir

3. Ortak Modüller (shared/)

Atıf Çıktısı (citation_export.py)

Yalnızca Tezara için atıf üretimi (DergiPark zaten resmi endpoint sunuyor).

Formatlar:

  • BibTeX (.bib) — Zotero, Mendeley için
  • CSL-JSON (.json) — Pandoc, citeproc için
  • RIS (.ris) — EndNote için
  • APA7 (Türkçe + İngilizce metin)
  • Chicago (footnote stili)

Tezara için BibTeX entry türü: @phdthesis veya @mastersthesis.

Tekrar Tespiti (deduplication.py)

  • DOI bazlı (kesin eşleşme) — DergiPark için
  • Tez no bazlı — Tezara için
  • Başlık + yazar + yıl bazlı (fuzzy matching, RapidFuzz) — fallback
  • DergiPark + Tezara karma listede aynı yazarın benzer çalışması tespit edilir

CrossRef Doğrulama (crossref_verify.py) — opsiyonel

  • Default: kapalı
  • --verify-crossref flag ile aktif
  • DOI bazlı yazar/yıl/dergi/sayfa kontrolü
  • Tutarsızlık raporu üretir

Audit Log (audit.py)

Her oturum için provenance_<timestamp>.json üretir. Her fetch işlemi için satır eklenir.

Kullanım Örnekleri

Örnek 1: Climate Justice için Tezara'dan tez taraması

"Tezara'da iklim adaleti ve çevresel adalet üzerine 2015-2024 arası
yazılmış doktora tezlerini bul, BibTeX olarak ver, izinli olanların
PDF'lerini indir"

Örnek 2: SGDB Directors için DergiPark'tan sürdürülebilir finans

"DergiPark'ta sürdürülebilir kalkınma ve finansman üzerine son 5 yılda
yayınlanmış makaleleri tara, APA7 atıf listesi hazırla, PDF'leri indir"

Örnek 3: Bibliometric çalışma için karma kaynak

"Türkşeker projesi için 'şeker sektörü' anahtar kelimesiyle hem Tezara
hem DergiPark'ı tara, tekrarları temizle, Excel + BibTeX ver"

Örnek 4: TÜBİTAK 1001 başvurusu için literatür

"DergiPark'ta 'duygu analizi Türkçe' aramasıyla 2020 sonrası makaleleri
çek, CrossRef ile doğrula, APA7 listesi hazırla, audit log dahil"

Workflow Şablonları (examples/)

  • bibliometric_workflow.md — Tam bibliometric analiz adımları
  • prisma_workflow.md — PRISMA sistematik tarama akışı
  • tubitak_basvuru_workflow.md — TÜBİTAK 1001 atıf hazırlama
  • karma_kaynak_workflow.md — Tez

Como adicionar

/plugin marketplace add mustafasneu/turkce-akademik-tarayici

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.