sakaci_79

Yeni Üye
Kayıtlı Üye
merhaba arkadaşlar öncelikle autoplay yeni sayılırım yardımınıza ihtiyacım var projede şunu yaptırmak istiyorum

bir kelime yazacağım mesela program ismi google hariç tüm arama sitelerindeki benim seçtiğim makaleleri biyere kaydedip orda analiz yaptıracağım kelime sayısı hece sayısı harf sayısı gibi bunu yaptırabilirmiyim yardım ederseniz gerçekten çoook ama çok sevinirim
 

[REHBER] AMS ile Web Veri Analizi ve Metin İstatistikleri​

Bu projede; bir arama terimi gireceğiz, seçtiğimiz sitelerdeki veriyi çekeceğiz ve bu verinin Kelime, Hece, Harf sayısını analiz ettireceğiz.

Kodlar Nereye Yazılır?​

1. Adım: Arayüzü Hazırlama
  • Bir adet Input objesi ekleyin (İsim: inpArama).
  • Bir adet Button ekleyin (İsim: btnAnaliz).
  • Analiz sonuçlarını görmek için 4 adet Label ekleyin (lblKelime, lblHece, lblHarf, lblSonuc).
2. Adım: Analiz Fonksiyonunu Yazma (Global Script)Project > Global Determinations kısmına şu analiz motorunu yapıştırın:
Kod:
function MetinAnalizi(gelenMetin)
    -- Harf Sayısı (Boşluklar hariç)
    local harf = String.Length(String.Replace(gelenMetin, " ", "", false));
    
    -- Kelime Sayısı
    local kelimeler = String.SplitPath(gelenMetin); -- Basit kelime ayırıcı
    local kelimeSayisi = 0;
    for i, v in pairs(String.Split(gelenMetin, " ")) do
        kelimeSayisi = kelimeSayisi + 1;
    end

    -- Hece Sayısı (Türkçe mantığı: Ünlü harf sayısına yakındır)
    local _, heceSayisi = String.Replace(gelenMetin, "[aeıioöuüAEIİOÖUÜ]", "", false);

    -- Sonuçları Yazdır
    Label.SetText("lblHarf", "Harf Sayısı: " .. harf);
    Label.SetText("lblKelime", "Kelime Sayısı: " .. kelimeSayisi);
    Label.SetText("lblHece", "Tahmini Hece: " .. heceSayisi);
end
3. Adım: Veri Çekme ve Çalıştırma (Button Actions)Butonun On Click olayına şu kodu yazın (Burada örnek bir site üzerinden veri çekiyoruz):
Kod:
-- Inputtan aramayı al
sAranan = Input.GetText("inpArama");

-- Seçtiğin makale sitesinden veriyi çek (Örn: Bir haber sitesi veya makale linki)
-- Not: Gerçek bir arama motoru botu için HTTP.Get kullanıyoruz
sSiteVerisi = HTTP.Get("https://www.orneksite.com/ara?q="..sAranan, {timeout=10});

if (sSiteVerisi ~= "") then
    -- Çekilen metni analiz et
    MetinAnalizi(sSiteVerisi);
    -- İstersen metni bir dosyaya kaydet
    TextFile.WriteFromString(_DesktopFolder.."\\Analiz.txt", sSiteVerisi, false);
    Dialog.Message("Tamamlandı", "Veriler analiz edildi ve masaüstüne kaydedildi.");
else
    Dialog.Message("Hata", "Siteye ulaşılamadı veya veri çekilemedi.");
end

Dikkat Etmen Gerekenler​

  1. Analiz Doğruluğu: Türkçe heceleme yapısı karmaşık olduğu için kodda "ünlü harf sayma" mantığını kullandım (Genelde %95 doğru sonuç verir).
  2. Web Scraping: Her sitenin yapısı farklıdır. Çektiğin verinin içindeki HTML kodlarını (<div>, <p> gibi) temizlemek için String.Replace ile temizlik yapman gerekebilir.
  3. Google Hariç: Bing veya DuckDuckGo gibi motorların URL yapılarını kullanarak aramayı otomatize edebilirsin.
 
Geri
Yukarı