Veri üretimi (scraper)
MyInstants kaynaklı kısa ses efektleri; aranabilir, sayfalı, kaynak listeye göre süzülebilir düz liste.
Bu sayfa ses kataloğunun nasıl üretildiğini anlatır. API kullanımı için API.md.
Kaynak URL yapısı
Kaynak URL:
https://www.myinstants.com/{UI_LANGUAGE}/index/{SOUND_LANGUAGE}/Örnek:
https://www.myinstants.com/en/index/tr/
https://www.myinstants.com/en/index/tr/?page=4İlk kod MyInstants arayüz dilidir. Son kod ses listesinin dil/bölge kodudur.
Proje arayüz dilleri
settings.json içinde:
en, de, pt, es, fr, nl, hi, it, ja, ko, rutanımlıdır.
settings.json > sound_languages listesine kod eklenerek yeni kaynak listeler toplanabilir. Ekosistemin diğer dilleri için önerilen ek kodlar:
tr, ar, vi, id, zhSes kataloglarının listesini settings.json > sound_languages üzerinden değiştirebilirsin.
Python
Harici Python paketi gerekmez. Yalnızca Python 3 standart kütüphanesi kullanılır.
Proje kökünde çalıştır:
python3 tools/scrape.pyPython scripti her ses dilinin ilk sayfasına gider. Sayfanın <title> alanındaki:
Page 4 of 50benzeri bilgiden toplam sayfa sayısını tespit eder ve bütün sayfaları dolaşır.
Üretilen dosyalar:
data/
├── en.json
├── de.json
├── pt.json
├── es.json
├── fr.json
├── nl.json
├── hi.json
├── it.json
├── ja.json
├── ko.json
├── ru.json
├── tr.json
├── catalog.json
└── report.jsonBelirli katalogları çekmek:
python3 tools/scrape.py --languages tr,en,deFarklı MyInstants arayüz dili kullanmak:
python3 tools/scrape.py --ui-language deİstekler arası bekleme:
python3 tools/scrape.py --delay 0.5İsteğe bağlı sayfa sınırı:
python3 tools/scrape.py --max-pages 5Bir ses kaydının JSON yapısı
{
"id": "ampul-adam-bass-20962",
"name": "AMPUL ADAM (BASS)",
"path": "/media/sounds/ampul-adam-bass.mp3",
"mp3": "https://www.myinstants.com/media/sounds/ampul-adam-bass.mp3",
"instant": "https://www.myinstants.com/en/instant/ampul-adam-bass-20962/",
"searchable": "ampul adam bass ampul adam bass 20962 ampul adam bass mp3"
}searchable, ad + slug + MP3 dosya isminden oluşturulur. Unicode küçük harfli sürüm ve mümkün olduğunda aksansız/translitere sürüm birlikte tutulur.
catalog.json
PHP'nin kullandığı ana taşıyıcı doğrudan array'dir:
[
{
"language": "tr",
"name": {
"en": "Turkish",
"de": "Türkisch",
"pt": "Turco",
"es": "Turco",
"fr": "Turc",
"nl": "Turks",
"hi": "तुर्की",
"it": "Turco",
"ja": "トルコ語",
"ko": "터키어",
"ru": "Турецкий"
},
"items": []
}
]Not
API ses dosyalarını proxy etmez; url doğrudan MyInstants MP3 adresidir. data/report.json son toplama turunun özetidir (bugün 11 liste, toplam yaklaşık 3.900 kayıt).