none
Siteden veri çekme

    Soru

  • Merhabalar:

    Arkadaşlar ben merkez bankasının resmi sitesinden euro ve dolar kurlarını uygulamamdaki 2 adet labela çekmek istiyorum bunu nasıl yapabilirim acaba kod olarak yardımcı olabilirseniz sevinirim


    Bilgisayar Mühendisi <Öğrenci>
    21 Ağustos 2011 Pazar 11:32

Yanıtlar

  • Merhabalar:

    Arkadaşlar ben merkez bankasının resmi sitesinden euro ve dolar kurlarını uygulamamdaki 2 adet labela çekmek istiyorum bunu nasıl yapabilirim acaba kod olarak yardımcı olabilirseniz sevinirim


    Bilgisayar Mühendisi <Öğrenci>

    Selam,

    Önay Bey'in önerisine alternatif olarak 3.parti web sitelerinde yer alan 'sitene ekle' tarzı web widget'larını bir html dosyasına tek seferliğine koyup, formunuzda bir köşede bulunan minik bir webbrowser kontrolünde bu html dosyasına Navigate() methodu ile form_load'da gitmek düşünülebilir. 'Sitene ekle' tarzı döviz bilgilerini sunan sitelerden biri:

    http://www.doviz.com/eklentiler/altin

    Buradaki kaynak kodu (sitene kopyala) html'nin body kısmına koyup kaydedin ve her açılışta webbrowser'iniz bu dosaya navige etsin.

    Kolay gelsin.


    Best regards, Saygılarımla, Onur Güzel

    Yazgeliştir Forumları VB.NET / C# Süper Moderatorü.

    Microsoft Haber Grupları Profilim (VB.NET)

    21 Ağustos 2011 Pazar 13:30
  • Şuna benzer bişey yapabilirsin;

    XDocument _xd = XDocument.Load("http://tcmb.gov.tr/kurlar/today.xml");
    		XElement _element =
    			(from elm in _xd.Descendants("Currency")
    			where elm.Attribute("Kod").Value == "USD"
    			 select elm).FirstOrDefault().Element("ForexSelling");
    		Label1.Text = _element.Value;
    





    while(true)
     Console.WriteLine("AmonRa");
    

    onay.yalciner[at]hotmail[dot]com
    www.club-bravo.com
    21 Ağustos 2011 Pazar 13:17

Tüm Yanıtlar

  • Merhabalar Müslüm bey,

     

    http://www.csharpnedir.com/articles/read/?id=138

     

    bu adreste aradığınız mevcut göz atarsanız?


    Best Regards Koray FENER http://www.infinityteknoloji.com
    21 Ağustos 2011 Pazar 12:59
  • Şuna benzer bişey yapabilirsin;

    XDocument _xd = XDocument.Load("http://tcmb.gov.tr/kurlar/today.xml");
    		XElement _element =
    			(from elm in _xd.Descendants("Currency")
    			where elm.Attribute("Kod").Value == "USD"
    			 select elm).FirstOrDefault().Element("ForexSelling");
    		Label1.Text = _element.Value;
    





    while(true)
     Console.WriteLine("AmonRa");
    

    onay.yalciner[at]hotmail[dot]com
    www.club-bravo.com
    21 Ağustos 2011 Pazar 13:17
  • Merhabalar:

    Arkadaşlar ben merkez bankasının resmi sitesinden euro ve dolar kurlarını uygulamamdaki 2 adet labela çekmek istiyorum bunu nasıl yapabilirim acaba kod olarak yardımcı olabilirseniz sevinirim


    Bilgisayar Mühendisi <Öğrenci>

    Selam,

    Önay Bey'in önerisine alternatif olarak 3.parti web sitelerinde yer alan 'sitene ekle' tarzı web widget'larını bir html dosyasına tek seferliğine koyup, formunuzda bir köşede bulunan minik bir webbrowser kontrolünde bu html dosyasına Navigate() methodu ile form_load'da gitmek düşünülebilir. 'Sitene ekle' tarzı döviz bilgilerini sunan sitelerden biri:

    http://www.doviz.com/eklentiler/altin

    Buradaki kaynak kodu (sitene kopyala) html'nin body kısmına koyup kaydedin ve her açılışta webbrowser'iniz bu dosaya navige etsin.

    Kolay gelsin.


    Best regards, Saygılarımla, Onur Güzel

    Yazgeliştir Forumları VB.NET / C# Süper Moderatorü.

    Microsoft Haber Grupları Profilim (VB.NET)

    21 Ağustos 2011 Pazar 13:30
  • Merhaba,

    HTML biliyorsanız, formunuza Webbrowser ekleyerek ve Webbrowser1.DocumentText ile kaynağını alarak bütün sitelerden xml'e ihtiyaç duymadan istediğiniz kısmı alabilirsiniz.

    Mesela aşağıda yazdığım kod milliyet.com.tr finans sayfasından IMKB 100 endeksini çekiyor.

     

    Public Class Form1
    
      Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        htmlcode.Text = WebBrowser1.DocumentText
        XUgetir()
      End Sub
    
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://finans.milliyet.com.tr/")
      End Sub
    
      Sub XUgetir()
        Dim son
        Try
          son = htmlcode.Text.Substring(htmlcode.Text.IndexOf("/Endeksler/index.html") + 640, 6)
          MsgBox(son)
        Catch ex As Exception
          MsgBox("Veri alınamadı")
        End Try
      End Sub
    
    End Class
    

    İyi çalışmalar.
     

    21 Ağustos 2011 Pazar 13:49
  • Tear yöntemleri güvenilmezdir, Milliyet Endexler/index.html de değişiklik yaptığında o 640 sayısı değişecektir, yanlış sonucun dönmesine neden olacaktır. Ayrıca milliyet.com.tr isterse sizin sunucunuzu banlayabilir.

    Bu iş için en iyi yöntem SOAP ile webservice alış verişidir, bu mümkün değil ise xml kullanılmalıdır. Bence Tear yöntemi çok amatörce.

     




    while(true)
     Console.WriteLine("AmonRa");
    

    onay.yalciner[at]hotmail[dot]com
    www.club-bravo.com
    21 Ağustos 2011 Pazar 16:21
  • tabiki sorunlarının farkındayım. ama bazı sitelerde malesef xml yapısı kullanılamıyor. :(
    21 Ağustos 2011 Pazar 19:34
  • Merhaba,

    HTML biliyorsanız, formunuza Webbrowser ekleyerek ve Webbrowser1.DocumentText ile kaynağını alarak bütün sitelerden xml'e ihtiyaç duymadan istediğiniz kısmı alabilirsiniz.

    Mesela aşağıda yazdığım kod milliyet.com.tr finans sayfasından IMKB 100 endeksini çekiyor.

     

    Public Class Form1
    
      Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        htmlcode.Text = WebBrowser1.DocumentText
        XUgetir()
      End Sub
    
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://finans.milliyet.com.tr/")
      End Sub
    
      Sub XUgetir()
        Dim son
        Try
          son = htmlcode.Text.Substring(htmlcode.Text.IndexOf("/Endeksler/index.html") + 640, 6)
          MsgBox(son)
        Catch ex As Exception
          MsgBox("Veri alınamadı")
        End Try
      End Sub
    
    End Class
    

    İyi çalışmalar.

    Merhaba;

    İlgili Kodları Kullanabileceğim Bir Projem Var.

     son = htmlcode.Text.Substring(htmlcode.Text.IndexOf("/Endeksler/index.html") + 640, 6)

    yukarıda altı çizili 640,6 rakamını nasıl bulduğunuzu öğrenmek istiyorum.

    ilgili web sayfasının kaynak kodlarına baktığımda girilen 640,6 rakamları çekilen verilerin olduğu yer ile uyuşmuyor.

    yardımcı olursanız sevinirim. Teşekürler.

     

    18 Ocak 2012 Çarşamba 15:43
  • o zamandan bu yana yapı değişmiş olabilir sizde oradaki yeni bilgilere göre hesaplattırıp çekersiniz.
    burhansuleymanvural@windowslive.com
    18 Ocak 2012 Çarşamba 16:00
  • Merhaba,

    HTML biliyorsanız, formunuza Webbrowser ekleyerek ve Webbrowser1.DocumentText ile kaynağını alarak bütün sitelerden xml'e ihtiyaç duymadan istediğiniz kısmı alabilirsiniz.

    Mesela aşağıda yazdığım kod milliyet.com.tr finans sayfasından IMKB 100 endeksini çekiyor.

     

    Public Class Form1
    
      Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        htmlcode.Text = WebBrowser1.DocumentText
        XUgetir()
      End Sub
    
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://finans.milliyet.com.tr/")
      End Sub
    
      Sub XUgetir()
        Dim son
        Try
          son = htmlcode.Text.Substring(htmlcode.Text.IndexOf("/Endeksler/index.html") + 640, 6)
          MsgBox(son)
        Catch ex As Exception
          MsgBox("Veri alınamadı")
        End Try
      End Sub
    
    End Class
    

    İyi çalışmalar.

    Merhaba;

    İlgili Kodları Kullanabileceğim Bir Projem Var.

     son = htmlcode.Text.Substring(htmlcode.Text.IndexOf("/Endeksler/index.html") + 640, 6)

    yukarıda altı çizili 640,6 rakamını nasıl bulduğunuzu öğrenmek istiyorum.

    ilgili web sayfasının kaynak kodlarına baktığımda girilen 640,6 rakamları çekilen verilerin olduğu yer ile uyuşmuyor.

    yardımcı olursanız sevinirim. Teşekürler.

     

    sayfayı tekrar inceledim değişen bir şey yok indexof ile "/Endeksler/index.html" yazısının başladığı yer referans alınarak üzerine 640 sayısını eklediğinizde verinin olduğu yani başladığı yere geliyoruz ve veri 6 hane olduğu için bu 6 hanelik bölümü alıyoruz. Kolay Gelsin...

    burhansuleymanvural@windowslive.com

    23 Ocak 2012 Pazartesi 10:07
  • www.lotpara.com  Daki verileri kullanabilirsin...
    18 Ekim 2013 Cuma 18:00
  • burada xml veya widget tarzı çekim yapılabiliniyor http://altinfiyati.finansx.com/
    29 Mayıs 2014 Perşembe 16:41