IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   covid19 saglik.gov.tr (https://www.ircforumlari.net/tcl-scriptler/863474-covid19-saglikgovtr.html)

Heartbroken 21 Mart 2021 22:03

Cevap: covid19 saglik.gov.tr
 
Son Koda Yapılan Ekle,
Komut Kullanmaya Gerek Kalmadan
Yeni Günün Verileri Açıklandığında,
Kodun Aktif Edildiği Kanala
Bilgilerin (.cov Komutuyla Alınanların!)
Otomatik Olarak Postalanması Sağlandı!
(Diyelimki; Günlük Durum Saat 20:00
Olduğunda Siteye Düşüyorsa,
Kanalınızda O Vakitte Görülecek!)


Kod: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

IUC 14 Kasım 2021 18:51

Cevap: covid19 saglik.gov.tr
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yeniden paylaşabilirmisin rica etsem

Che 14 Kasım 2021 18:53

Cevap: covid19 saglik.gov.tr
 
Alıntı:

ufukcingay Nickli Üyeden Alıntı (Mesaj 1042555394)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yeniden paylaşabilirmisin rica etsem

Kod:

set url {https://covid19.saglik.gov.tr/?_Dil=2}
set vaccine {https://covid19asi.saglik.gov.tr/}
set iller {istanbul ankara İzmir manisa Van Diyarbakır antalya muğla kocaeli edirne trabzon Ağrı}
set C19dosya C19.db

setudef flag korona

package require http
package require tls 1.7
package require json
package present Tcl 8.5

::http::register https 443[list tls::socket -autoservername 1]

if {![file readable $C19dosya] || ![file exists $C19dosya]} {
    catch { close [open $C19dosya w] }
}       

bind pub - .cov covid_pubs
bind pub - .risk pandemi_risk
bind time - "*0 *" Corona_Time

proc pandemi_risk {nick uhost hand chan arg} {
        set pan [http::geturl https://covid19.saglik.gov.tr/]
        set kaynak [http::data $pan]
        ::http::cleanup $pan
        set hedefil [lindex [split $arg] 0]
        set out {}
        set i 0
        foreach {_ bir} [regexp -all -inline -- {<tr>(.+?)</tr>} $kaynak] {n iki} [regexp -all -inline -- {<g data-durum=\"<b style=.+?>(.+?)</b>} $kaynak] {
                regexp -- {<td>(.+?)</td>.+?<td>(.+?)</td>} $bir - sehir yuzde
                if {[llength $hedefil]} {
                        if {[string match -nocase *$hedefil* $sehir]} {
                                lappend out [renkle $sehir [string trim $iki]]\00314$yuzde\003
                        }
                } else {
                        if {[string match -nocase *$sehir* $::iller]} {
                                lappend out [renkle $sehir [string trim $iki]]\00314$yuzde\003-
                        }
                }
                regsub -all -- "<.+?>" $out {} out
                regsub -all -- {\s+} $out " " out
                set out [string trim $out]
                incr i
        }
        puthelp "privmsg $chan :[join $out]"
}

proc renkle {il durum} {
    switch -nocase -- $durum {
                Orta { set risk "\002$il\002 \00308$durum\003" }
              Düşük { set risk "\002$il\002 \00312$durum\003" }
              Yüksek { set risk "\002$il\002 \00307$durum\003" }
    "Çok Yüksek" { set risk "\002$il\002 \00304$durum\003" }
            default { set risk "\002$il\002 $durum" }
        }
        return $risk
}

proc Corona_Time args {
        foreach _ [channels] {
            if {[channel get $_ korona]} {
                    set TestGun [dict get $::cov gunluk_test]
                        set CovTest [C19_read $::C19dosya]
                        if {$TestGun ne [string trim $CovTest]} {
                            Auto_Cov19 $_
                C19_write $::C19dosya $TestGun
                        }
                }
        }
        return 0
}

proc C19_read Covf {
        if {[file readable $Covf] && [file exists $Covf]} {
                set dy [open $Covf r]
                set tr [gets $dy]
                close $dy
        }
        return $tr
}

proc C19_write {Cfile Ctrh} {
        set fp [open $Cfile w]
        puts $fp $Ctrh
        close $fp
}

proc Auto_Cov19 ch {
    set ashi [Got_C19 $::vaccine]       
        set ::cov [json::json2dict [Got_C19 $::url]]
        regexp -- {yapilanasisayisi = (.+?);.+?= (.+?);.+?= (.+?);.+?= (.+?);.+?= '(.+?)';} $ashi "" asayi kisay 1doz 2doz sonup
        dict with ::cov {
                puthelp "privmsg $ch :\00312$tarih\003 \00314Türkiye'deki Güncel Durum\003 \00303TÜRKİYE GÜNLÜK KORONAVİRÜS TABLOSU\003 :"
                puthelp "privmsg $ch :\00302\002BUGÜN\002\003 \002TEST SAYISI\002 : \00304$gunluk_test\003 \002VAKA SAYISI\002 : \00304$gunluk_vaka\003 \002HASTA SAYISI\002 :\
                \00304$gunluk_hasta\003 \002VEFAT SAYISI\002 : \00304$gunluk_vefat\003 \002İYİLEŞEN SAYISI\002 : \00304$gunluk_iyilesen\003"
                puthelp "privmsg $ch :\00302\002BU HAFTA\002\003 \002HASTALARDA ZATÜRRE ORANI\002 : \00304%$hastalarda_zaturre_oran\003 \002YATAK DOLULUK ORANI\002 : \00304%$yatak_doluluk_orani\003\
                \002ERİŞKİN YOĞUN BAKIM DOLULUK ORANI\002 : \00304%$eriskin_yogun_bakim_doluluk_orani\003 \002VENTİLATÖR DOLULUK ORANI\002 :\
                \00304%$ventilator_doluluk_orani\003 \002ORTALAMA TEMASLI TESPİT SÜRESİ\002 : \00304$ortalama_temasli_tespit_suresi Saat\003 \002FİLYASYON ORANI\002 : \00304%$filyasyon_orani\003"
                puthelp "privmsg $ch :\00302\002TOPLAM\002\003 \002TEST SAYISI\002 : \00304$toplam_test\003 \002VAKA SAYISI\002 : \00304$toplam_hasta\003\
                \002VEFAT SAYISI\002 : \00304$toplam_vefat\003 \002AĞIR HASTA SAYISI\002 : \00304$agir_hasta_sayisi\003 \002İYİLEŞEN HASTA SAYISI\002 : \00304$toplam_iyilesen\003"
                puthelp "privmsg $ch :\002YAPILAN AŞI SAYISI\002 : \00304[getr8 $asayi]\003 \002AŞI YAPILAN KİŞİ SAYISI\002 : \00304[getr8 $kisay]\003\
                \0021.DOZ AŞI YAPILAN KİŞİ SAYISI\002 : \00304[getr8 $1doz]\003 \0022.DOZ AŞI YAPILAN KİŞİ SAYISI\002 : \00304[getr8 $2doz]\003 \002GÜNCELLEME SAATİ\002 : \00304[getr8 $sonup]\003"
                puthelp "privmsg $ch :[pandemi_risk "" "" "" $ch ""]"
        }
}

proc covid_pubs {nick uhost hand chan text} {
        if {![channel get $chan korona]} { return 0 }
        Auto_Cov19 $chan
        return 0
}

proc getr8 num { regsub -all -- {\d(?=(\d{3})+($|\.))} $num {\0.} }

proc Got_C19 Linkin {
        set token [http::geturl $Linkin]
        set data [http::data $token]
        ::http::cleanup $token
        regsub -all -- {.*?<script src="/assets/js/lang/en.js"></script>} $data "" data
        regsub -all -- {.*?var sondurumjson = \[} $data "" data
        regsub -all -- {\];//\]\]>.*?} $data "" data
        regsub -all -- {<.+?>} $data "" data
        return [string trim $data]
}


IUC 14 Kasım 2021 19:07

Cevap: covid19 saglik.gov.tr
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] teşekkür ederim saolasın

Heartbroken 14 Kasım 2021 22:54

Cevap: covid19 saglik.gov.tr
 
Kod Hakkında:
Site Hemen Her Ay Değiştiriliyor,
Açıklanan Veriler Eksiliyor Yada
Değişiyor!

Günlük,Toplam Ve Detay Verileri
Bu Scriptin Yukarıdaki En Son Halinde
Sitede Vardı.

Şimdi Sınırlı Günlük Veri Ve
Bir .PNG Image/Resim Dosyasına
Gömülü Haftalık Verisi Var Sitede.
Son Değişiklikte Bolca Detaylı Aşı
Bilgisi Sayfanın Her Yerine Serpiştirildi.


Eğer .PNG Resim Valid/Geçerli Bir
Formatta Olsaydı;tcllib Paketlerinden
Biri İle Haftalık Ve Detay Bilgileri
İçerisinden Çekebilirdim!

Ancak Denediğimde Invalid/Geçersiz
Hatalı/Bozuk Bir Formatta Olduğu,
Bu Nedenlede Bu İşler İçin Yapılmış
tcllib Paketiyle Dahi Üzerinde
Herhangi Bir İş Yapmak Mümkün Olmadı!...


JavaScript'le Site Kaynak Kodlarına
Gömdükleri Yerlerde Alınacak Birşey Yok!
Tek Alınacak Veri Kaynak Kodları İçerisinde

JSON Formatındaki Günlük Açıklanan Birkaç
Bilgiden İbaret.
Haftalık,Genel Yada Detaylı Bilgiler
Yine JSON Olarak Varsada ;


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]



Temmuz'da Takılıp Kalmış Ve Güncellenmiyor,
Her Nereden Geliyorsa Bu Veri....


Tüm Bu Sebeplerle ;
Bu Siteden Kullanılabilecek Veriler:


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]



Bunlardan İbaret Artık!
Bununda Garantisi Yok!
Çünkü Bu Kod İlk Yazıldığından
Belli Sürekli Siteyle Oynayıp,
Kodu Patlatıyorlar!


Ayrıca Verdikleri Verilerin Güvenirliği
Soru İşareti, Şöyleki:
Detaylı Veriler Vermeye Başladıkları
Dönemde Tüm Dünya Ülkelerinin
Verilerini Yayınlayan:
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Sitesiyle Veriler Nispeten Uyumluydu..
Ama Şimdi Sağlık Bakanlığı Sitesindeki
Veriler Kısıtlandığından Bu Yana
Artık Bilgiler Birbirini Tutmuyor!?


Toplam Vefat Birinde:73,531
Diğerinde:71.724
Yorum Sizin!...


Yine/Yeniden Yazılmış Resimdeki
Veriyi Alan Kod:


Kod:

package require http
package require tls 1.6.4
package require json

setudef flag korona

set url {https://covid19.saglik.gov.tr/}

bind pub mnf|oa .cov Korona_pub

::http::register https 443 [list ::tls::socket -ssl2 0 -ssl3 0 -tls1 1]

proc Korona_pub {nick uhost hand chan arg} {
    if {![channel get $chan korona]} { return 0 }
    set token [http::geturl $::url -timeout 12000]
    set data [http::data $token]
    ::http::cleanup $token
    set asi {}
    if {[regexp -- {doz1asisayisi = '(.+?)'.+?doz2asisayisi = '(.+?)'.+?doz3asisayisi = '(.+?)'.+?doz4asisayisi = '(.+?)'} $data -> d1 d2 d3 d4]} {
          lappend asi \002Doz-1\002: \00304$d1\003 \002Doz-2\002: \00304$d2\003 \002Doz-3\002: \00304$d3\003 \002Doz-4\002: \00304$d4\003
    }
    if {[regexp -- {toplamasidozusayisi = '(.+?)'.+?gunluksidozusayisi = '(.+?)'.+?dozturkiyeortalamasi = '(.+?)'.+?doz2turkiyeortalamasi = '(.+?)'} $data -> tpla glka dzto d2t]} {
          lappend asi \002Toplam Doz\002: \00304$tpla\003 \002Günlük Doz\002: \00304$glka\003 \002Doz-1 Yüzde\002 \00304%$dzto\003 \002Doz-2 Yüzde\002: \00304%$d2t\003
    }
    if {[regexp -- {doz3turkiyeortalamasi = '(.+?)'.+?doz4turkiyeortalamasi = '(.+?)'.+?asidozuguncellemesaati = '(.+?)'} $data -> d3to d4to adgs]} {
          lappend asi  \002Doz-3 Yüzde\002 \00304%$d3to\003 \002Doz-4 Yüzde\002 \00304%$d4to\003 \002Güncelleme\002 \00304$adgs\003
    }
          regsub -all -- {.*(//<!\[CDATA\[)} $data {} data
          regsub -all -- {(\;//\]\]>).*} $data {} data
    if {[regexp -- {var sondurumjson = (.+?);var haftalikdurumjson = ([^\$]*)$} $data -> bir iki]} {
          set gun [lindex [json::json2dict $bir] 0]
          #set hafta [lindex [json::json2dict $iki] 0]
          set trh [dict get $gun tarih]
          set gtst [dict get $gun gunluk_test]
          set gvk [dict get $gun gunluk_vaka]
          set gvft [dict get $gun gunluk_vefat]
          set giyi [dict get $gun gunluk_iyilesen]
          puthelp "privmsg $chan :\00312Bugün\003 \00303$trh\003: \002Test\002: \00304$gtst\003 \002Vaka\002:\
          \00304$gvk\003 \002Vefat\002: \00304$gvft\003 \002İyileşen\002: \00304$giyi\003"
          #set hth [dict get $hafta tarih]
          #set tstsay [dict get $hafta test_sayisi]
          #set hvak [dict get $hafta vaka_sayisi]
          #set hhas [dict get $hafta hasta_sayisi]
          #set hvs [dict get $hafta vefat_sayisi]
          #set his [dict get $hafta iyilesen_sayisi]
        # puthelp "privmsg $chan :\00312Hafta\003 \00303$hth\003: \002Test\002: \00304$tstsay\003 \002Vaka\002:\
        #\00304$hvak\003 \002Hasta\002: \00304$hhas\003 \002Vefat\002: \00304$hvs\003 \002İyileşen\002: \00304$his\003"
          #set tvs [dict get $hafta toplam_vaka_sayisi]
          #set tvft [dict get $hafta toplam_vefat_sayisi]
          #set oahs [dict get $hafta ortalama_agir_hasta_sayisi]
          #set hzo [dict get $hafta hastalarda_zaturre_oran]
          #set ydo [dict get $hafta yatak_doluluk_orani]
          #set eybdo [dict get $hafta eriskin_yogun_bakim_doluluk_orani]
          #set vdo [dict get $hafta ventilator_doluluk_orani]
          #puthelp "privmsg $chan :\00312Toplam\003 \002Vaka\002: \00304$tvs\003 \002Vefat\002: \00304$tvft\003\
          #\002Ortalama Ağır Hasta\002: \00304$oahs\003 \002Zatürre Oranı\002: \00304$hzo\003 \002Yatak Doluluk Oranı\002:\
          #\00304$ydo\003\ \002Erişkin Yoğun Bakım Doluluk Oranı\002: \00304$eybdo\003 \002Ventilator Doluluk Oranı\002: \00304$vdo\003"         
    }
    puthelp "privmsg $chan :[join $asi]"
    return 0
}

Haftalık,Toplam Ve Diğer Detay
Bilgileri Ayıklayan,Veren Satırları
Etkisizleştirdim!
Çünkü Doğru Bilgileri İçermiyorlar!...


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:17.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk