yüzeysel veride bildiğim kadarı ile yoktu.
aşağıdaki kod direk çalışan ideal sistem kodudur. Bununla brüt takas bilgisini çekebilirsiniz.
Bir hissenin brüt takas uygulamasında olup olmadığını ve eğer brüt takasta ise;
Başlangıç ve bitiş tarihlerini, kredi yasağı, açık yasağı, internet yasağı, tek fiyat uygulaması var mı yok mu ve hisse pazarını okuyabilirsiniz.
Pratikte her döngüde webden veri çekmeyi tavsiye etmem. günde bir kez veri çekip yazan yardımcı bir robot yazıp bu kodlardan faydalanarak ideal tablosuna veya dosyaya yazabilirsiniz. asıl robotda ise yazdığınız yerden okuyabilirsiniz.
PHP Code:
//Brüt Takas listesini gedik yatırım sayfasından oku.
string webData = System.Text.Encoding.UTF8.GetString((new System.Net.WebClient()).DownloadData("https://www.gedik.com/bilgi-egitimler/tedbirli-hisseler"));
string pattern = "(?<=\\t\\t\\t<p>)(.+?)(?=</p>)";
System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(webData, pattern);
var BrutTakasList = new Dictionary< string, List<string> >();
for (int i = 9; i < matches.Count; i+=9)
{
List<string> HisseDetayBilgileri = new List<string>();
HisseDetayBilgileri.Add(matches[i+1].Value.ToString()); // 0-Başlangıç Tarihi
HisseDetayBilgileri.Add(matches[i+2].Value.ToString()); // 1-Bitiş Tarihi
HisseDetayBilgileri.Add(matches[i+3].Value.ToString()); // 2-Brüt Takas
HisseDetayBilgileri.Add(matches[i+4].Value.ToString()); // 3-Kredi Yasağı
HisseDetayBilgileri.Add(matches[i+5].Value.ToString()); // 4-Açık Satış Yasağı
HisseDetayBilgileri.Add(matches[i+6].Value.ToString()); // 5-İnternet Yasağı
HisseDetayBilgileri.Add(matches[i+7].Value.ToString()); // 6-Tek Fiyat Uygulaması
HisseDetayBilgileri.Add(matches[i+8].Value.ToString()); // 7-Hisse Pazar
BrutTakasList[matches[i].Value.ToString()] = HisseDetayBilgileri;
}
//Örnek Kullanım
string TemizAd= Sistem.Sembol.Replace("IMKBH'","");
if( BrutTakasList.ContainsKey(TemizAd))
Sistem.Mesaj(TemizAd+": Bu Hissede Brüt Takas Uygulaması bulunuyor! Bitiş Tarihi:"+BrutTakasList[TemizAd][1] +" Tek Fiyat Uygulaması: "+BrutTakasList[TemizAd][6] );
else
Sistem.Mesaj(TemizAd+": Alınır abi alınır..");