FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Url kaynağının içinde bir tag'ın değerini nasıl buluruz?

0 oy
1,486 kez görüntülendi

İnsert Url ile bir internet sayfasının kaynak bilgilerini aşağıdaki gibi çekiyorum. Kaynağın içinde {"media":507, yazan kısımda media tagı standart ancak karşılığındaki sayı değeri değişebiliyor. Bu gibi durumlarda "media": kelimesini aratıp ondan sonra gelen virgüle kadar olan değeri(507) nasıl buldururuz?

Substitute ( Middle ( deger::Kaynak;1138;5 ) ; "<BR>" ;"" )

Yukarıdaki Calculation ile denedim ancak kaynakta bazı bilgiler değişebildiği için aradığım değerin karakter sırası ileri veya geri gidebiliyor. "media": ifadesinden sonra gelen virgüle kadar olan değeri(507) nasıl buluruz.

 

Sayfa Kaynağı:

{"meta":{"code":200},"data":{"username":"kitaparasi_","bio":"kitaparasi@outlook.com\nBiraz param olursa kitap al\u0131r\u0131m; e\u011fer artarsa yiyecek ve giyecek al\u0131r\u0131m\u2026 (Erasmus)","website":"","profile_picture":"https:\/\/scontent.cdninstagram.com\/hphotos-xaf1\/t51.2885-19\/11381434_649624918502501_1281715762_a.jpg","full_name":"kitap aras\u0131","counts":{"media":507,"followed_by":20869,"follows":2902},"id":"1907032733"}}

24, Aralık, 2015 Uygulamalar kategorisinde mcatal (6,890 puan) tarafından soruldu

1 cevap

+3 oy
 
En İyi Cevap

Su sekilde bir denermisiniz.

Burada onemli olan aradiginiz kelimenin pozisyon sira numarasini kullanmaniz

Substitute ( Middle ( deger::Kaynak; Position ( deger::Kaynak ; "media" ; 1 ; 1 ) ;5 ) ; "<BR>" ;"" )

24, Aralık, 2015 Hamit Özsönmez (56,720 puan) tarafından cevaplandı
24, Aralık, 2015 F. Osman Cabi tarafından seçilmiş
Hocam sonuç
media
şeklinde dönüyor. Sağındaki 507 rakamını getirmek için nasıl bir değişiklik yapmak gerekir?
Hesap icerigini assagidaki ile degistiriniz.

Let ( [

kaynak = deger::Kaynak;
aranankelime = "media";
pos1 = Position ( kaynak ; aranankelime ; 1 ; 1 );
pos2 = Position ( kaynak ; ":" ; pos1 ; 1 );
fark = pos2-pos1;
rakam = filter ( Middle ( kaynak ; pos2 ; fark ) ; "1234567890" )

];

rakam

)
Hocam çalıştı teşekkür ediyorum. Size zahmet verdik ama. çok sağolun
rica ederim, bir hata yapmisim o yuzden kucuk  bir degisiklikte bulundum.

Assagidaki sekilde degistirirseniz farkli uzunluktaki ramaklardada sorunsuz calisacaktir.

Let ( [

_kaynak = deger::Kaynak;
_aranankelime = "\"media\":";
_aranankelimeuzunluk = Length ( _aranankelime );
_pos1 = Position ( _kaynak ; _aranankelime ; 1 ; 1 );
_pos2 = Position ( _kaynak ; "," ; _pos1 ; 1 );
_fark = _pos2-_pos1-6;
_rakam = Filter ( Middle ( _kaynak ; _pos1+ _aranankelimeuzunluk ; _fark ) ; "1234567890" )

];
_rakam
)
Teşekkür ederim.
...