Tag Cloud
    Sponsors
       
      Anketler

      Siteden beklentiniz nedir?

      Sonuçları görüntüle

      Yükleniyor ... Yükleniyor ...
IMKB sitesinden kapanış verilerini çeken kod (1)
Home » AR-GE » IMKB sitesinden kapanış verilerini çeken kod (1) IMKBden zip dosyaları çekme
By FVolkanY | 3 CommentsLeave a Comment
Last updated: Çarşamba, Eylül 16, 2009
    

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.

Comments

3 comments
  1. ahmet muratoglu
    18 Eylül 2009

    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

    Leave a reply
  2. www.Global Ekonomi.com » Blog Archive » IMKB sitesinden kapanış verilerini çeken kod (2)
    18 Eylül 2009

    [...] birinci bölümünde IMKB sitesinden bülteni çekip, .zip dosyaları sırayla veriler klasörüne [...]

    Leave a reply
  3. » IMKB sitesinden kapanış verilerini çeken kod (3) &nbsp www.Global Ekonomi.com
    21 Eylül 2009

    [...] : Python ile excel dosya içeriği görüntüleme. Yazının birinci bölümünde IMKBden kapanış bültenlerini .zip olarak indirmiş, ikinci bölümünde bu zip dosyaların [...]

    Leave a reply

Leave a Comment

Add your picture!
Join Gravatar and upload your avatar. C'mon, it's free!