burakyilmaz321 / tefas-crawler

A Python library for crawling public data from Tefas.
MIT License
75 stars 21 forks source link

Crawler dönen fon sayısı ile fundturkey.com.tr sitesinden export yapılan excel fon sayısı farklı #10

Closed dcukran closed 1 year ago

dcukran commented 1 year ago

Merhaba, uygulama için çok teşekkür ederim.

Dönen datanın fon sayısı ile siteden export yapılan fon sayısı arasında farklılık var.

Veride 1042 adet fon varken, excel dosyasında 1130 adet fon var. Aradaki fark 88. Bunların arasından fiyatı olmayanları elediğimizde geriye 18 adet fon kalıyor.

AES AK ASSET MANAGEMENT OIL FOREIGN ETF FUND BASKET FUND AFA AK ASSET MANAGEMENT AMERICA FOREIGN EQUITY Fund AFS AK PORTFÖY HEALTH SECTOR FOREIGN SHARE FUND AFT AK ASSET MANAGEMENT NEW TECHNOLOGIES FOREIGN EQUITY Fund AFV AK ASSET MANAGEMENT EUROPE FOREIGN EQUITY Fund AOY AK PORTFÖY ALTERNATIVE ENERGY FOREIGN SHARE FUND APJ AK PORTFÖY DÖRDÜNCÜ FON SEPETİ FONU ARL AK ASSET MANAGEMENT FIRST FUND OF FUNDS ARM AK ASSET MANAGEMENT SECOND FUND OF FUNDS DTZ AK PORTFÖY DÖNÜŞTÜRÜCÜ TEKNOLOJİLER DEĞİŞKEN FON GUM AK PORTFÖY GÜMÜŞ FON SEPETI FONU MTV AK PORTFÖY METAVERSE VE DİJİTAL YAŞAM TEKNOLOJİLERİ DEĞİŞKEN FON ODV AK ASSET MANAGEMENT THIRD FUND BASKET MUTUAL Fund PAI AK PORTFÖY ING BANK ÖZEL BANKACILIK VE PLATINUM DEĞİŞKEN ÖZEL FON TAR AK PORTFÖY TARIM VE GIDA TEKNOLOJİLERİ DEĞİŞKEN FON TGR AK PORTFÖY TURİZM VE SEYAHAT SEKTÖRÜ DEĞİŞKEN FON VCY AK PORTFÖY ELEKTRİKLİ VE OTONOM ARAÇ TEKNOLOJİLERİ DEĞİŞKEN FON ZFB AK PORTFÖY FİNTEK VE BLOKZİNCİRİ TEKNOLOJİLERİ DEĞİŞKEN FON

Hepsi Ak Portföy kağıtlarından.

Fon adet farklılığı neden kaynaklanmış olabilir?

dcukran commented 1 year ago

Tekrar merhaba,

Belirttiğim sorun verilerin Tefaş sitesine girilmesiyle ilgili olduğu belli oldu. Kod tarafında info ve detail olarak alınan iki ayrı veri setinin merge edilmesi sırasında oluyor.

merged = pd.merge(info, detail, on=["code", "date"])

Burada join default olarak 'inner' kullanılıyor. Eğer detail veri setinde info'da verilen fon ve tarih yok ise çıkmıyor.

Bunun yerine

pd.merge(info, detail, how='left', on=["code", "date"])

kullanılırsa "left join" detail veri setinde olsa da olmasa da çıkması sağlanmış olur.

Uygulama için tekrar teşekkür etmek isterim.