mirror: 初始快照
This commit is contained in:
commit
4e9a58e521
21 files changed
+278493
No files matched your search
+127
@@ -0,0 +1,127 @@
|
||||
# VS Code
|
||||
.vscode/*
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
pip-wheel-metadata/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Kemal Ogun Isik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,38 @@
|
||||
# 项目目的
|
||||
|
||||
将土耳其语言协会(Türk Dil Kurumu)发布的《当代土耳其语词典》(Güncel Türkçe Sözlük)整理为可供开发者使用的格式。项目当前收录 92,406 个词条,均为最新版本。
|
||||
|
||||
本词典提供三种不同格式下载:
|
||||
1. JSON 文件:[gts.json.tar.gz](sozluk/gts.json.tar.gz)
|
||||
2. MongoDB 归档文件:[gts.mongo4.gzip.archive](sozluk/gts.mongo4.gzip.archive)
|
||||
3. SQLite 数据库:[gts.sqlite3.db](sozluk/gts.sqlite3.db)
|
||||
|
||||
## JSON
|
||||
|
||||
所下载的文件经 GZIP 压缩。解压后可使用任意文本编辑器查看其内容。
|
||||
|
||||
## MongoDB
|
||||
|
||||
可使用以下命令将所下载的文件导入您自己的 MongoDB 服务器:
|
||||
|
||||
`mongorestore --gzip --archive=gts.mongo4.gzip.archive`
|
||||
|
||||
## SQLite
|
||||
|
||||
所下载的文件可使用任意 SQLite 查看器查看与使用。数据库结构如下:
|
||||
|
||||

|
||||
|
||||
# TDK 2007 词典
|
||||
|
||||
TDK 于 2007 年发布的词典可通过 old 文件夹中的 [TDK-2007.rar](old/TDK-2007.rar) 文件获取。旧版词典共收录 73,707 个词条。
|
||||
|
||||
# 当代土耳其语词典
|
||||
|
||||
系土耳其语言协会自 1945 年起出版的《土耳其语词典》于 2011 年推出的第 11 版经修订更新后在互联网上发布的版本。该词典随语言发展持续更新。
|
||||
|
||||
http://www.sozluk.gov.tr/
|
||||
|
||||
## 关于本镜像
|
||||
|
||||
本仓库系 ahembal/GuncelTurkceSozluk 的忠实镜像。原项目以 MIT 许可发布(Copyright 2021 Kemal Ogun Isik),著作权归原作者所有。上游版本系经 codeload 解压获得,本镜像未保留本地 git 历史;抓取于 2026-10-02;来源与完整许可见本仓 LICENSE。
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# Inspired by
|
||||
# https://www.codeenigma.com/community/blog/using-mdbtools-nix-convert-microsoft-access-mysql
|
||||
|
||||
# USAGE
|
||||
# Rename your MDB file to migration-export.mdb
|
||||
# run ./mdb2sqlite.sh migration-export.mdb
|
||||
# wait and wait a bit longer...
|
||||
|
||||
mdb-schema migration-export.mdb sqlite > schema.sql
|
||||
mkdir sqlite
|
||||
mkdir sql
|
||||
for i in $( mdb-tables migration-export.mdb ); do echo $i ; mdb-export -D "%Y-%m-%d %H:%M:%S" -H -I sqlite migration-export.mdb $i > sql/$i.sql; done
|
||||
|
||||
mv schema.sql sqlite
|
||||
mv sql sqlite
|
||||
cd sqlite
|
||||
|
||||
cat schema.sql | sqlite3 db.sqlite3
|
||||
|
||||
for f in sql/* ; do echo $f && (echo 'BEGIN;'; cat $f; echo 'COMMIT;') | sqlite3 db.sqlite3; done
|
||||
@@ -0,0 +1,42 @@
|
||||
-- ----------------------------------------------------------
|
||||
-- MDB Tools - A library for reading MS Access database files
|
||||
-- Copyright (C) 2000-2011 Brian Bruns and others.
|
||||
-- Files in libmdb are licensed under LGPL and the utilities under
|
||||
-- the GPL, see COPYING.LIB and COPYING files respectively.
|
||||
-- Check out http://mdbtools.sourceforge.net
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- That file uses encoding UTF-8
|
||||
|
||||
CREATE TABLE `SENSES`
|
||||
(
|
||||
`WORD_ID` varchar,
|
||||
`MULT_NO` varchar,
|
||||
`SENSE_NO` INTEGER,
|
||||
`VERB` varchar,
|
||||
`WORD_TYPE1` varchar,
|
||||
`WORD_TYPE2` varchar,
|
||||
`WORD_TYPE3` varchar,
|
||||
`USAGE_TYPE1` varchar,
|
||||
`USAGE_TYPE2` varchar,
|
||||
`CONTEXT1` varchar,
|
||||
`CONTEXT2` varchar,
|
||||
`MEANING` TEXT,
|
||||
`CÜMLE` TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE `WORDMULT`
|
||||
(
|
||||
`WORD_ID` varchar,
|
||||
`MULT_NO` varchar,
|
||||
`PRE_MULT` varchar,
|
||||
`HEAD_MULT` varchar,
|
||||
`SUFFIX` varchar,
|
||||
`PLURAL` varchar,
|
||||
`SPECIAL` varchar,
|
||||
`LANGUAGE1` varchar,
|
||||
`SEE_PRE` TEXT
|
||||
);
|
||||
|
||||
|
||||
-- CREATE Relationships ...
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"python.pythonPath": "env/bin/python3",
|
||||
"python.formatting.provider": "black"
|
||||
}
|
||||
+101728
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,212 @@
|
||||
""" MongoDB icerisindeki kayitlari SQLite veritabanina aktarir """
|
||||
from pymongo import MongoClient
|
||||
import sqlite3
|
||||
|
||||
CLIENT = MongoClient("localhost", 27017)
|
||||
MONGO_TOPICS = CLIENT.gts.maddeler
|
||||
|
||||
|
||||
def create_connection(db_file):
|
||||
""" sqlite connectionu olusturur """
|
||||
try:
|
||||
conn = sqlite3.connect(db_file)
|
||||
return conn
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def insert_anlam(conn, anlam):
|
||||
""" anlami veritabanina ekler """
|
||||
sql = """INSERT INTO anlam(anlam_id,madde_id,anlam_sira,fiil,tipkes,anlam,gos)
|
||||
VALUES (?,?,?,?,?,?,?)"""
|
||||
arr = (
|
||||
anlam["anlam_id"],
|
||||
anlam["madde_id"],
|
||||
anlam["anlam_sira"],
|
||||
anlam["fiil"],
|
||||
anlam["tipkes"],
|
||||
anlam["anlam"],
|
||||
anlam["gos"],
|
||||
)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
if "ozelliklerListe" in anlam:
|
||||
insert_ozellikler(conn, anlam["anlam_id"], anlam["ozelliklerListe"])
|
||||
|
||||
if "orneklerListe" in anlam:
|
||||
insert_ornekler(conn, anlam["orneklerListe"])
|
||||
|
||||
return cur.lastrowid
|
||||
|
||||
|
||||
def insert_anlamlar(conn, madde):
|
||||
""" anlamlari veritabanina ekler """
|
||||
if "anlamlarListe" not in madde:
|
||||
return None
|
||||
|
||||
anlamlar = madde["anlamlarListe"]
|
||||
for anlam in anlamlar:
|
||||
insert_anlam(conn, anlam)
|
||||
|
||||
|
||||
def insert_anlam_ozellik(conn, anlam_id, ozellik_id):
|
||||
""" anlam_ozellik ilisiklisini veritanina ekler """
|
||||
sql = """INSERT INTO anlam_ozellik(anlam_id, ozellik_id)
|
||||
VALUES (?,?)"""
|
||||
arr = (anlam_id, ozellik_id)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_atasozu(conn, atasozu):
|
||||
""" atasozunu veritabanina ekler """
|
||||
sql = """INSERT OR REPLACE INTO atasozu(madde_id,madde)
|
||||
VALUES (?,?)"""
|
||||
arr = (atasozu["madde_id"], atasozu["madde"])
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_atasozleri(conn, madde):
|
||||
""" atasozlerini veritabanina ekler """
|
||||
if "atasozu" not in madde:
|
||||
return None
|
||||
|
||||
atasozleri = madde["atasozu"]
|
||||
for atasozu in atasozleri:
|
||||
insert_atasozu(conn, atasozu)
|
||||
insert_madde_atasozu(conn, madde["madde_id"], atasozu["madde_id"])
|
||||
|
||||
|
||||
def insert_madde(conn, madde):
|
||||
""" maddeyi veritabanina ekler """
|
||||
sql = """INSERT INTO madde(madde_id,kac,kelime_no,cesit,anlam_gor,on_taki,madde,cesit_say,anlam_say,taki,cogul_mu,ozel_mi,lisan_kodu,lisan,telaffuz,birlesikler,font,madde_duz,gosterim_tarihi)
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"""
|
||||
arr = (
|
||||
madde.get("madde_id"),
|
||||
madde.get("kac"),
|
||||
madde.get("kelime_no"),
|
||||
madde.get("cesit"),
|
||||
madde.get("anlam_gor"),
|
||||
madde.get("on_taki"),
|
||||
madde.get("madde"),
|
||||
madde.get("cesit_say"),
|
||||
madde.get("anlam_say"),
|
||||
madde.get("taki"),
|
||||
madde.get("cogul_mu"),
|
||||
madde.get("ozel_mi"),
|
||||
madde.get("lisan_kodu"),
|
||||
madde.get("lisan"),
|
||||
madde.get("telaffuz"),
|
||||
madde.get("birlesikler"),
|
||||
madde.get("font"),
|
||||
madde.get("madde_duz"),
|
||||
madde.get("gosterim_tarihi"),
|
||||
)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
return cur.lastrowid
|
||||
|
||||
|
||||
def insert_madde_atasozu(conn, madde_id, atasozu_madde_id):
|
||||
""" madde_atasozu iliskisini kurar """
|
||||
sql = """INSERT INTO madde_atasozu(madde_id, atasozu_madde_id)
|
||||
VALUES (?,?)"""
|
||||
arr = (madde_id, atasozu_madde_id)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_ornek(conn, ornek):
|
||||
""" ornegi veritabanina ekler """
|
||||
if "yazar" in ornek:
|
||||
insert_yazarlar(conn, ornek["yazar"])
|
||||
|
||||
sql = """INSERT INTO ornek(ornek_id,anlam_id,ornek_sira,ornek,kac,yazar_id)
|
||||
VALUES (?,?,?,?,?,?)"""
|
||||
|
||||
yazar_id = None
|
||||
if ornek["yazar_id"] and ornek["yazar_id"] != "0":
|
||||
yazar_id = ornek["yazar_id"]
|
||||
|
||||
arr = (
|
||||
ornek["ornek_id"],
|
||||
ornek["anlam_id"],
|
||||
ornek["ornek_sira"],
|
||||
ornek["ornek"],
|
||||
ornek["kac"],
|
||||
yazar_id,
|
||||
)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_ornekler(conn, ornekler):
|
||||
""" ornekleri veritabanina ekler """
|
||||
if not ornekler:
|
||||
return None
|
||||
|
||||
for ornek in ornekler:
|
||||
insert_ornek(conn, ornek)
|
||||
|
||||
|
||||
def insert_ozellik(conn, ozellik):
|
||||
""" ozelligi veritabanina ekler """
|
||||
sql = """INSERT OR REPLACE INTO ozellik(ozellik_id,tur,tam_adi,kisa_adi,ekno)
|
||||
VALUES (?,?,?,?,?)"""
|
||||
arr = (
|
||||
ozellik["ozellik_id"],
|
||||
ozellik["tur"],
|
||||
ozellik["tam_adi"],
|
||||
ozellik["kisa_adi"],
|
||||
ozellik["ekno"],
|
||||
)
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_ozellikler(conn, anlam_id, ozellikler):
|
||||
""" ozellikleri veritabanina ekler """
|
||||
if not ozellikler:
|
||||
return None
|
||||
|
||||
for ozellik in ozellikler:
|
||||
insert_ozellik(conn, ozellik)
|
||||
insert_anlam_ozellik(conn, anlam_id, ozellik["ozellik_id"])
|
||||
|
||||
|
||||
def insert_yazar(conn, yazar):
|
||||
""" yazari veritabanina ekler """
|
||||
sql = """INSERT OR REPLACE INTO yazar(yazar_id,tam_adi,kisa_adi,ekno)
|
||||
VALUES (?,?,?,?)"""
|
||||
arr = (yazar["yazar_id"], yazar["tam_adi"], yazar["kisa_adi"], yazar["ekno"])
|
||||
cur = conn.cursor()
|
||||
cur.execute(sql, arr)
|
||||
|
||||
|
||||
def insert_yazarlar(conn, yazarlar):
|
||||
""" yazarlari veritabanina ekler """
|
||||
if not yazarlar:
|
||||
return None
|
||||
|
||||
for yazar in yazarlar:
|
||||
insert_yazar(conn, yazar)
|
||||
|
||||
|
||||
def execute():
|
||||
""" ana method """
|
||||
for madde in MONGO_TOPICS.find():
|
||||
conn = create_connection("guncel-turkce-sozluk.db")
|
||||
|
||||
insert_madde(conn, madde)
|
||||
insert_anlamlar(conn, madde)
|
||||
insert_atasozleri(conn, madde)
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
execute()
|
||||
@@ -0,0 +1 @@
|
||||
[{"madde":"-den yana"},{"madde":"-den yana çıkmak"},{"madde":"-den yana olmak"},{"madde":"-di'li geçmiş"},{"madde":"-miş'li geçmiş"},{"madde":"...-e gelince"},{"madde":"... -e kuvvet"},{"madde":"...-inde değil"},{"madde":"...-in karesi"},{"madde":"...-meye görsün (veya gör)"},{"madde":"...-nın başında gelmek (veya yer almak)"},{"madde":"... azmanı"},{"madde":"... bir hâl almak (hâle girmek)"},{"madde":"... canlısı (olmak)"},{"madde":"... damgasını vurmak"},{"madde":"... delisi (olmak)"},{"madde":"... demeye getirmek"},{"madde":"... demeye kalmamak"},{"madde":"... den kalır yeri yok"},{"madde":"... durumuna düşmek"},{"madde":"... durumunda olmak (veya bulunmak)"},{"madde":"... duygusu uyandırmak"},{"madde":"... düşkünü (olmak)"},{"madde":"... elinden çıkmak"},{"madde":"... fırın ekmek yemesi lazım"},{"madde":"... gibi yapmak"},{"madde":"... gözüyle bakmak"},{"madde":"... hâline gelmek"},{"madde":"... hastası (olmak)"},{"madde":"... ile beraber"},{"madde":"... kim ... kim"},{"madde":"... kisvesi altında"},{"madde":"... lüksü olmamak"},{"madde":"... meraklısı (olmak)"},{"madde":"... nazarıyla bakmak"},{"madde":"... nere ... nere"},{"madde":"... nerede ... orada"},{"madde":"... olsun ... olsun"},{"madde":"... sevdasına düşmek"},{"madde":"... şerefine"},{"madde":"... vaziyeti takınmak"},{"madde":"... yaşını sürmek"},{"madde":"... ye kalsa (veya kalırsa)"},{"madde":"... yoluna"},{"madde":"... ziyafeti çekmek"},{"madde":"a"},{"madde":"a'dan z'ye (kadar)"},{"madde":"a \/ e"},{"madde":"a, A"},{"madde":"ab"},{"madde":"aba"},{"madde":"aba"},{"madde":"aba altında er yatar"},{"madde":"aba altından sopa (veya değnek) göstermek"},{"madde":"abacı"},{"madde":"abacı kebeci (ara yerde) sen neci?"},{"madde":"abacılık"},{"madde":"abadi"},{"madde":"aba gibi"},{"madde":"aba güreşi"},{"madde":"abajur"},{"madde":"abajurcu"},{"madde":"abajurculuk"},{"madde":"abajurlu"},{"madde":"abajursuz"},{"madde":"abaküs"},{"madde":"abalı"},{"madde":"Abana"},{"madde":"abanabilme"},{"madde":"abanabilmek"},{"madde":"abandırabilme"},{"madde":"abandırabilmek"},{"madde":"abandırıverme"},{"madde":"abandırıvermek"},{"madde":"abandırma"},{"madde":"abandırmak"},{"madde":"abandone"},{"madde":"abandone etmek"},{"madde":"abandone olmak"},{"madde":"abanın kadri yağmurda bilinir"},{"madde":"abanış"},{"madde":"abanıverme"},{"madde":"abanıvermek"},{"madde":"abani"},{"madde":"abanma"},{"madde":"abanmak"},{"madde":"abanoz"},{"madde":"abanoz gibi"},{"madde":"abanozgiller"},{"madde":"abanoz kesilmek"},{"madde":"abanozlaşıverme"},{"madde":"abanozlaşıvermek"},{"madde":"abanozlaşma"},{"madde":"abanozlaşmak"},{"madde":"abanozlaştırabilme"},{"madde":"abanozlaştırabilmek"},{"madde":"abanozlaştırıverme"},{"madde":"abanozlaştırıvermek"},{"madde":"abanozlaştırma"},{"madde":"abanozlaştırmak"},{"madde":"abartabilme"},{"madde":"abartabilmek"},{"madde":"abartı"},{"madde":"abartıcı"},{"madde":"abartıcılık"},{"madde":"abartık"},{"madde":"abartılabilme"},{"madde":"abartılabilmek"},{"madde":"abartılı"},{"madde":"abartılılık"},{"madde":"abartılış"},{"madde":"abartılma"},{"madde":"abartılmak"},{"madde":"abartısız"},{"madde":"abartısızca"},{"madde":"abartısızlık"},{"madde":"abartış"},{"madde":"abartma"},{"madde":"abartmacı"},{"madde":"abartmacılık"},{"madde":"abartmak"},{"madde":"abartmalı"},{"madde":"abartmasız"},{"madde":"abartmasızca"},{"madde":"abasız"},{"madde":"abasızlık"},{"madde":"abaşo"},{"madde":"abat"},{"madde":"abat etmek (veya eylemek)"},{"madde":"abat olmak"},{"madde":"aba vakti yaba, yaba vakti aba"},{"madde":"abayı sermek"},{"madde":"abayı yakmak"},{"madde":"Abaza"},{"madde":"Abazaca"},{"madde":"abazan"},{"madde":"abazan kalmak"},{"madde":"abazanlaşma"},{"madde":"abazanlaşmak"},{"madde":"abazanlık"},{"madde":"Abaza peyniri"},{"madde":"Abbas"},{"madde":"Abdal"},{"madde":"abdal"},{"madde":"abdala \"kar yağıyor\" demişler, \"titremeye hazırım\" demiş"},{"madde":"abdala malum olur"},{"madde":"abdal ata binince bey oldum sanır, şalgam aşa girince yağ oldum sanır"},{"madde":"abdal düğünden, çocuk oyundan usanmaz"},{"madde":"abdalımsı"},{"madde":"abdalın dostluğu köy görününceye kadar"},{"madde":"abdalın karnı doyunca gözü pabucundadır (veya yolda olur)"},{"madde":"abdallık"},{"madde":"abdal tekkede, hacı Mekke'de bulunur"},{"madde":"abdest"},{"madde":"abdest almak"},{"madde":"abdestbozan"},{"madde":"abdestbozan otu"},{"madde":"abdest bozmak"},{"madde":"abdesthane"},{"madde":"abdesti bozulmak"},{"madde":"abdesti gelmek"},{"madde":"abdesti kaçmak"},{"madde":"abdestinde, namazında olmak"},{"madde":"abdestinden şüphesi olmamak"},{"madde":"abdestini vermek"},{"madde":"abdestli"},{"madde":"abdestlik"},{"madde":"abdestlilik"},{"madde":"abdestsiz"},{"madde":"abdestsizlik"},{"madde":"abdestsiz yere basmamak"},{"madde":"abdest tazelemek"},{"madde":"abdiâciz"},{"madde":"abdülleziz"},{"madde":"abe"},{"madde":"Line truncated
|
||||
Binary file not shown.
@@ -0,0 +1,79 @@
|
||||
BEGIN TRANSACTION;
|
||||
CREATE TABLE IF NOT EXISTS "ornek" (
|
||||
"ornek_id" INTEGER NOT NULL,
|
||||
"anlam_id" INTEGER NOT NULL,
|
||||
"ornek_sira" INTEGER NOT NULL,
|
||||
"ornek" TEXT,
|
||||
"kac" INTEGER NOT NULL,
|
||||
"yazar_id" INTEGER,
|
||||
PRIMARY KEY("ornek_id"),
|
||||
FOREIGN KEY("anlam_id") REFERENCES "anlam"("anlam_id"),
|
||||
FOREIGN KEY("yazar_id") REFERENCES "yazar"("yazar_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "anlam" (
|
||||
"anlam_id" INTEGER NOT NULL,
|
||||
"madde_id" INTEGER NOT NULL,
|
||||
"anlam_sira" INTEGER NOT NULL,
|
||||
"fiil" INTEGER NOT NULL,
|
||||
"tipkes" INTEGER NOT NULL,
|
||||
"anlam" TEXT NOT NULL,
|
||||
"gos" INTEGER NOT NULL,
|
||||
PRIMARY KEY("anlam_id"),
|
||||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "anlam_ozellik" (
|
||||
"anlam_id" INTEGER NOT NULL,
|
||||
"ozellik_id" INTEGER NOT NULL,
|
||||
FOREIGN KEY("ozellik_id") REFERENCES "ozellik"("ozellik_id"),
|
||||
FOREIGN KEY("anlam_id") REFERENCES "anlam"("anlam_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "atasozu" (
|
||||
"madde_id" INTEGER NOT NULL,
|
||||
"madde" TEXT NOT NULL,
|
||||
PRIMARY KEY("madde_id"),
|
||||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "madde" (
|
||||
"madde_id" INTEGER NOT NULL,
|
||||
"kac" INTEGER NOT NULL,
|
||||
"kelime_no" INTEGER NOT NULL,
|
||||
"cesit" INTEGER NOT NULL,
|
||||
"anlam_gor" INTEGER NOT NULL,
|
||||
"on_taki" TEXT,
|
||||
"madde" TEXT NOT NULL,
|
||||
"cesit_say" INTEGER NOT NULL,
|
||||
"anlam_say" INTEGER NOT NULL,
|
||||
"taki" TEXT,
|
||||
"cogul_mu" INTEGER NOT NULL,
|
||||
"ozel_mi" INTEGER NOT NULL,
|
||||
"lisan_kodu" INTEGER NOT NULL,
|
||||
"lisan" TEXT,
|
||||
"telaffuz" TEXT,
|
||||
"birlesikler" TEXT,
|
||||
"font" TEXT,
|
||||
"madde_duz" TEXT NOT NULL,
|
||||
"gosterim_tarihi" TEXT,
|
||||
PRIMARY KEY("madde_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "ozellik" (
|
||||
"ozellik_id" INTEGER NOT NULL,
|
||||
"tur" INTEGER NOT NULL,
|
||||
"tam_adi" TEXT NOT NULL,
|
||||
"kisa_adi" TEXT NOT NULL,
|
||||
"ekno" INTEGER NOT NULL,
|
||||
PRIMARY KEY("ozellik_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "yazar" (
|
||||
"yazar_id" INTEGER NOT NULL,
|
||||
"tam_adi" TEXT NOT NULL,
|
||||
"kisa_adi" TEXT NOT NULL,
|
||||
"ekno" INTEGER NOT NULL,
|
||||
PRIMARY KEY("yazar_id")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "madde_atasozu" (
|
||||
"madde_id" INTEGER NOT NULL,
|
||||
"atasozu_madde_id" INTEGER NOT NULL,
|
||||
FOREIGN KEY("madde_id") REFERENCES "madde"("madde_id"),
|
||||
FOREIGN KEY("atasozu_madde_id") REFERENCES "atasozu"("madde_id")
|
||||
);
|
||||
COMMIT;
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
""" Güncel Türkçe Sözlük verilerini kaydeder """
|
||||
import consts
|
||||
|
||||
from pymongo import MongoClient, ReplaceOne
|
||||
import requests
|
||||
|
||||
CLIENT = MongoClient("localhost", 27017)
|
||||
MONGO_TOPICS = CLIENT.gts.madde
|
||||
GEVENT_JOBS = []
|
||||
|
||||
|
||||
def get_api_result(word):
|
||||
""" GTS uzerinden kelimeyi getirir """
|
||||
|
||||
headers = {
|
||||
"User-Agent": "APIs-Google (+https://developers.google.com/webmasters/APIs-Google.html)"
|
||||
}
|
||||
|
||||
api_url = "http://www.sozluk.gov.tr/gts"
|
||||
params = {"ara": word}
|
||||
result = requests.get(api_url, params=params, headers=headers)
|
||||
|
||||
if result.status_code != 200:
|
||||
print("API error. Status Code: {result.status_code}. Word: {word}")
|
||||
return None
|
||||
|
||||
return result.json()
|
||||
|
||||
|
||||
def get_results():
|
||||
""" Elimizdeki kelime listesi uzerinden kelimeleri getirir """
|
||||
for word in consts.WORDS:
|
||||
maddeler = get_api_result(word)
|
||||
if "error" in maddeler:
|
||||
continue
|
||||
|
||||
for madde in maddeler:
|
||||
if not isinstance(madde, dict):
|
||||
print(f"Wrong type for: {word}. Detail: {madde}")
|
||||
continue
|
||||
|
||||
madde_id = madde["madde_id"]
|
||||
|
||||
mongo_obj = madde.copy()
|
||||
mongo_obj["_id"] = madde_id
|
||||
|
||||
MONGO_TOPICS.replace_one({"_id": madde_id}, mongo_obj, upsert=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
get_results()
|
||||
@@ -0,0 +1,6 @@
|
||||
certifi==2019.3.9
|
||||
chardet==3.0.4
|
||||
idna==2.8
|
||||
pymongo==3.8.0
|
||||
requests==2.22.0
|
||||
urllib3==1.25.3
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 213 KiB |
Reference in new issue
Block a user