Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
31
Cevap
1858
Tıklama
5
Öne Çıkarma
Python ile İş Bankası'ndan anlık döviz kurlarını çekme
K
3 yıl
Yüzbaşı
Konu Sahibi

Merhaba,

İşbankası'ndan döviz kurlarını aldığım küçük bir script yazdım. Scripti GitHub'a yükledim. İsterseniz kütüphanenize ekleyerek anlık döviz kurlarını görebilir veya başka bir script üzerinde import ederek kullanabilirsiniz.

Scripti direk çalıştırdığınızda size anlık tüm döviz kurlarını çekerek gösteriyor.


< Resime gitmek için tıklayın >


Scripti başka bir script üzerinden çağırarak sadece istediğiniz döviz kurunun alış, satış fiyatını alabiliyorsunuz.


< Resime gitmek için tıklayın >


Güncelleme: Scriptin hata denetimi özelliği var.

1. URL adresi yayından kaldırılırsa HTTP 404 hatası veriyor.

< Resime gitmek için tıklayın >

2. Sayfa mevcut fakat içindeki istenilen kodunu bulamazsa kullanıcıya hata dönüyor.


< Resime gitmek için tıklayın >

Saygılarımla.

GitHub Kaynak: https://github.com/bariskayadelen/UsefulScripts/blob/master/get_currency_tr.py





< Bu mesaj bu kişi tarafından değiştirildi kayadelenium -- 12 Ağustos 2022; 17:53:55 >

S
3 yıl
Binbaşı

Bankaların API'ları ücretli mi?


Şurada 100 request bedavaymış:
https://apilayer.com/marketplace/fixer-api#pricing





< Bu mesaj bu kişi tarafından değiştirildi scientia -- 10 Ağustos 2022; 1:17:28 >

S
3 yıl
Yüzbaşı

Ne dediğim muhtemelen anlaşılmadı, normaldir. Bak bir örnek vereyim:
https://eminent-uneven-ankle.glitch.me/

Oraya çok basit bir sayfa koydum, sayfayı browser ile açanlar bir table içinde 3 sayı görüyor.
O sayıları aynen böyle soup, urllib kullanarak parse edip ekrana gösteren scripti yaz. Hadi bekliyorum. Senin gibi aslan parçasının 10 dakikasını bile almaz...





< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 14 Eylül 2022; 7:50:39 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
T
3 yıl
Yarbay

Senin site:

https://tugkan.tiiny.site

Soru günceldir. Beautiful Soup ile Sayılar Tablosu altındaki 3 sayıyı (98, 105, 117) scrape eden kod yazınız.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @seyfi84
G
3 yıl
Yarbay

bddk sayfasında excel raporlama var adresi program aracılığıyla oluşturup parameterler geçilir download edilir bitanede excel parser ile indirilen dosya arayüzde gösterilebilir
örnekler

https://www.bddk.org.tr/BultenAylik/tr/Home/BasitExceleAktar?tabloNo=1&yil=2022&ay=7&paraBirimi=TL&taraf[0]=10001&taraf[1]=10002

https://www.bddk.org.tr/BultenAylik/tr/Home/BasitExceleAktar?tabloNo=2&yil=2022&ay=7&paraBirimi=TL&taraf[0]=10001


aylık bülten örnek uygulama çok hata kontrol üzerinde durmadım
https://s7.dosya.tc/server24/ab7ec2/Bddk.zip.html

<hc:Window x:Class="Bddk.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:hc="https://handyorg.github.io/handycontrol" xmlns:local="clr-namespace:Bddk"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="800" Height="450"
UseLayoutRounding="True" WindowState="Maximized"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="3*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.ColumnSpan="2" Orientation="Horizontal">
<ComboBox ItemsSource="{Binding Yıllar}" SelectedItem="{Binding SeçiliYıl}" />
<ComboBox ItemsSource="{Binding Aylar}" SelectedItem="{Binding SeçiliAy}" />
<ComboBox SelectedItem="{Binding ParaBirimi}">
<System:String>TL</System:String>
<System:String>USD</System:String>
</ComboBox>
<hc:CheckComboBox x:Name="CheckComboBox"
MinWidth="200" MaxWidth="400"
DisplayMemberPath="Value"
ItemsSource="{Binding Taraf}"
SelectionChanged="CheckComboBox_SelectionChanged"
Style="{StaticResource CheckComboBoxPlus}" />
<Button Click="Button_Click" Content="İNDİR" />
</StackPanel>
<ListBox Grid.Row="1" SelectedIndex="{Binding SeçiliVeri}">
<System:String>Bilanço</System:String>
<System:String>Kar Zarar</System:String>
<System:String>Krediler</System:String>
<System:String>Tüketici Kredileri</System:String>
<System:String>Sektörel Kredi Dağılımı</System:String>
<System:String>KOBİ Kredileri</System:String>
<System:String>Sendikasyon Seküritizasyon Kredileri</System:String>
<System:String>Menkul Kıymetler</System:String>
<System:String>Mevduat Türler İtibarıyla</System:String>
<System:String>Mevduat Vade İtibarıyla</System:String>
<System:String>Likidite Durumu</System:String>
<System:String>Sermaye Yeterliliği</System:String>
<System:String>Yabancı Para Pozisyonu</System:String>
<System:String>Bilanço Dışı İşlemler</System:String>
<System:String>Rasyolar</System:String>
<System:String>Diğer Bilgiler</System:String>
<System:String>Yurt Dışı Şube Rasyoları</System:String>
</ListBox>
<DataGrid x:Name="Dg"
Grid.Row="1" Grid.Column="1" />
</Grid>
</hc:Window>



using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using ExcelDataReader;

namespace Bddk
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : HandyControl.Controls.Window
{
public MainWindow()
{
InitializeComponent();
DataContext = this;
Taraf.Add(10001, "Sektör");
Taraf.Add(10002, "Mevduat");
Taraf.Add(10003, "Mevduat Yerli");
Taraf.Add(10004, "Mevduat Kamu");
Taraf.Add(10005, "Mevduat Yabancı");
Taraf.Add(10006, "Katılım");
Taraf.Add(10007, "Kalkınma ve Yatırım");
Taraf.Add(10008, "Yerli Özel");
Taraf.Add(10009, "Kamu");
Taraf.Add(10010, "Yabancı");
}

public IEnumerable<int> Aylar { get; set; } = Enumerable.Range(1, DateTime.Now.Month);

public string ParaBirimi { get; set; } = "TL";

public int SeçiliAy { get; set; } = 1;

public int SeçiliVeri { get; set; } = 0;

public int SeçiliYıl { get; set; } = DateTime.Now.Year;

public Dictionary<int, string> Taraf { get; set; } = new Dictionary<int, string>();

public string TarafMetin { get; set; }

public IEnumerable<int> Yıllar { get; set; } = Enumerable.Range(DateTime.Now.Year - 20, 21);

private void Button_Click(object sender, RoutedEventArgs e)
{
if (TarafMetin is null)
{
MessageBox.Show("Taraf Bilgisi Seçin");
return;
}
string adres = $"https://www.bddk.org.tr/BultenAylik/tr/Home/BasitExceleAktar?tabloNo={SeçiliVeri + 1}&yil={SeçiliYıl}&ay={SeçiliAy}&paraBirimi={ParaBirimi}&{TarafMetin}";
string fileName;
using (WebClient client = new WebClient())
{
fileName = Path.GetTempPath() + Guid.NewGuid().ToString() + ".xlsx";
client.DownloadFile(adres, fileName);
}

using (FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
{
using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
{
Dg.ItemsSource = reader.AsDataSet().Tables[0].DefaultView;
}
}
}

private void CheckComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string data = "";
for (int i = 0; i < CheckComboBox.SelectedItems.Count; i++)
{
KeyValuePair<int, string> item = (KeyValuePair<int, string>)CheckComboBox.SelectedItems[i];
data += "taraf[" + i + "]=" + item.Key + "&";
}
TarafMetin = data;
}
}
}





< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 8 Eylül 2022; 21:8:49 >
Bu mesaja 2 cevap geldi.
K
3 yıl
Yüzbaşı
Konu Sahibi

Merhaba,

Bahsetmiş olduğunuz konu ve sayfa aşağıda resmi ve bağlantısı olan sayfa mı?

Bağlantı adresi: https://www.bddk.org.tr/BultenHaftalik

Saygılarımla.


< Resime gitmek için tıklayın >




Bu mesajda bahsedilenler: @Spartan 117
S
3 yıl
Yüzbaşı

https://eminent-uneven-ankle.glitch.me/
hala bekliyorum, şuradaki 3 sayıyı crawl edip gösteren python scriptini...
.Net/C# şovmeni de geldi konuya, tamam o da C# ile yapsın, hadi bekliyoruz bak kaç hafta oldu.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.