IMKB sitesinden kapanış verilerini çeken kod (1) IMKBden zip dosyaları çekme

16 Eylül 2009 | 3 Yorum | Kategori: Yapay Zeka - Teknoloji | Popularity: 3% | FVolkanY

codec Kapanış verileri ile çalışmaya yeni başlayan arkadaşlar için IMKB sitesinden verileri otomatik olarak çekip bir klasöre kaydeden pratik bir python kod örneği.
IMKB sitesinde, yatırımcılar ve data işleme firmalarının faydalanabileceği, piyasa ile ilgili pek çok bilgi bulunuyor.
Biz sadece Hisse Senetleri Piyasası Bültenlerini çekiyoruz. Bunlar .zip uzantılı sıkıştırılmış excel dosyaları. Daha sonraki yazılarda bu dosyaların nasıl işleneceğini de bulabileceksiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# -*- coding: utf-8 -*-
# +-----------------------------------------------------------------------------------+
# IMKB sitesinden belirli tarihler arasındaki...
# günlük kapanış bültenlerini indiren kod örneği.
#
# Hazırlayan : FVolkanY // www.globalekonomi.com
# +-----------------------------------------------------------------------------------+
 
import sys
import urllib
 
# Önce indirme adresimizin kodlarını hazırlıyoruz
 
# .zip dosyalar için for döngüsü
 
# 2000 yılından başla, 2010 yılına kadar devam et (2010 hariç)
for yil in range(2000, 2010):
# 1. aydan başla, 13.aya kadar devam et (13.ay hariç)
    for ay in range(1,13):
# 1. günden başla, 32. güne kadar devam et (32.gün hariç) 
        for gun in range(1,32):
# 1.seansdan başla, 3.seansa kadar devam et (3.seans hariç)
            for seans in range(1,3):
# yıl ismini string yapalım ki adres satırına yazabilelim
                yilx=str(yil)
# eğer ay 10dan küçükse başına 0 koyalım ve ayı stringe çevirelim
                if ay<10:
                    ayx="0"+str(ay)
                if ay>=10:
                    ayx=str(ay)
# eğer gün 10dan küçükse başına 0 koyup günü stringe çevirelim
                if gun<10:
                    gunx="0"+str(gun)
                if gun>=10:
                    gunx=str(gun)
# seans bilgisini de stringe çeviriyoruz
                seansx=str(seans)
# elimizde döngü içinde değişen yıl, ay,gün ve seans bilgisi var
# veri çekeceğimiz adresi belirtelim
                adres="http://www.imkb.gov.tr/data/thb/"+yilx+"/"+ayx+"/thb"+yilx+ayx+gunx+seansx+".zip"
# artık verileri çekmeyi deneyebiliriz
                try:
# deniyoruz
                    indir=urllib.urlopen(adres)
                    oku=indir.read()
# durumdan haberdar olalım
                    print "Dosya okunuyor"
# belirtilen adresde karşınmıza ne çıkacak?
# galiba .zip yerine <html> ile başlayan gibi bir sayfaya gittik, belki tatil günü olabilir
                    if oku.startswith("< "):
                        print "Belirtilen adres üzerinde bu isimde bir dosya yok. Bir sonraki dosya ile işlem devam edecek."
# 404 not found ile de karşılaşabiliriz
                    elif oku.startswith("4"):
                        print "Belirtilen adres üzerinde bu isimde bir dosya yok. Bir sonraki dosya ile işlem devam edecek."
# herşey yolunda ise
                    else:
# çektiğimiz dosyayı klasörümüze kaydedelim
                            dosya=open("./veriler/"+yilx+ayx+gunx+seansx+".zip","wb")
                            dosya.write(oku)
                            dosya.close()
# işlem tamam
                            print "İşlem tamamlandı. Bir sonraki dosya ile işleme devam ediliyor."
# tahmin edemediğimiz bir hata oluştuğunda
                except:
                    print "Dosya Okuma/Yazma hatası!!!"
# for döngüsü sona erdiğinde haberimiz olsun
print "Tüm dosyalar indirildi."

Sürekli Dosya Okuma/Yazma hatası!!! almamak için .py uzantılı scriptinizin bulunduğu dizinde, dosyaların kaydedileceği veriler isimli bir klasör oluşturmanız gerekiyor.
Pythonun girintili yazım kurallarına dikkat edip girintilerde 4′er boşluk yerleştirmeyi unutmayın.

Komple kopyala yapıştır yaparsanız, satır numaralarını da alıcağı için scriptiniz çalışmaz. 27 ve 32. satırlardaki küçüktür işareti &lt olarak çıkıyor yazarken düzeltmelisiniz.

Programı çalıştırdığınızda veriler klasörü içinde hisse senetleri piyasası bültenlerinin bulunduğu .zip dosyalarını göreceksiniz.

Bu kodlar ile bir program hazırlayıp IMKB sitesinden veri çekmek istediğinizde Telif Hakkı ve Çekince İhbarında bulunan şartları kabul etmelisiniz.
Kullanım izni ve şartları
Kullanıcılar bilgi ve dokümanları, sadece bilgi edinme amacıyla kullanabilir. Burada mevcut bulunan bilgiler, İMKB’nin önceden yazılı olarak izni alınmadan kısmen veya tamamen kopya edilemez, uygulamaya konulamaz, dağıtılamaz, kiralanamaz, çoğaltılamaz, alt lisansla kullandırılamaz, değiştirilemez, ileride kullanılmak üzere saklanamaz. Bilgi sayfalarındaki tüm görüntüler İMKB adına tescilli olup, İMKB’nin önceden yazılı izni alınmadan ticari amaçlı olarak kullanılamaz.

Bu web sitesinde yer alan bütün ürün ve hizmetler önceden bildirimde bulunmaksızın değiştirilebilir.

Çekinceler
İMKB’nin bu bilgilerin doğruluğu ve tamlığı hususlarına açık veya zımni şekilde kefil veya garantör olduğu yolunda hiçbir taahhüdü bulunmamaktadır. İMKB tarafindan yayınlanan bilgilerin kullanıcıları sarih bir şekilde kabul ederler ki, bu bilgiler kim tarafindan kullanılırsa kullanılsın, kullanım neticesi doğrudan, dolaylı veya netice olarak bir kayıp veya zarar doğması halinde bu durum İMKB’ye hiçbir borç, sorumluluk veya mükellefiyet yüklemez.

İnsan hataları, teknik nedenler veya diğer faktörler nedeniyle her tür hata veya bilgi eksikliğinin vuku bulabileceği gerçeğinden hareketle, İMKB kendi yayınladığı veya bilgi sağladığı kaynaklardan temin edilen bilgilerdeki hata ve eksikliklerden sorumlu bulunmamaktadır.

Kolay gelsin.

Popularity: 3%

Bu yazıya yorum yapabilirsiniz. 1143 views, 12 so far today |

Bu yazılar da dikkatinizi çekebilir...

Follow Discussion

3 Responses to “IMKB sitesinden kapanış verilerini çeken kod (1) IMKBden zip dosyaları çekme”

  1. ahmet muratoglu Says:

    Buda benden ;)

    YAPAY SİNİR AĞLARI METODOLOJİSİ İLE
    TAHMİN MODELLEMESİ:
    İMKB100 ENDEKS TAHMİN
    http://www.geocities.com/trituner/Yapay_Sinir_Aglari_ile_Tahmin_Modellemesi_Cenk_Yurtsever.pdf

Trackbacks

  1. www.Global Ekonomi.com » Blog Archive » IMKB sitesinden kapanış verilerini çeken kod (2)  
  2. » IMKB sitesinden kapanış verilerini çeken kod (3) &nbsp www.Global Ekonomi.com  

Bu yazıya kendi yorumunuzu ekleyebilirsiniz.

Men in BlackFeyziTurkish University StudentsTurkish Solider Outside of the Topkapi Palaceistanbul punk #4istanbul punk #5Galata Towereuagelistrasfrom sea to heavenmesoxwriou_ortakioi