Excel webden veri getirme imdb
Geliştirici

IMDB Top 250 Filmlerini Excele getirmek


Makro ile webden veri getirmek , Excel‘de birçok kullanıcı için zorluk demek anlamına geliyor. Bu gibi konularda okurlarım için alternatif çözümler hazırlayarak yardımcı olmak istiyorum. Bugün konumuzda ise IMDB sitesinden en iyi 250 film listesini Excel çalışma sayfasına makro yardımıyla getireceğiz. IMDB aynı zamanda benimde çok aktif kullandığım bir uygulamadır. İzlediğim filmleri kendi listeme ekliyorum, puanlar veriyorum, buna göre IMDB bana yeni film önerileri yapıyor vs. konu dışı oluyor biraz ama bilmeyenler varsa açıklama ihtiyacı hissettim 🙂 Gelelim konumuza,

Öncelikle bu işlem için IMDB sitesini ziyaret ediyoruz,

http://www.imdb.com/chart/top linkinden seçilen en iyi 250 film listesine ulaşabilirsiniz. Buradan ilk sırada gördüğümüz Esaretin Bedeli adlı filmin üstüne sağ tıklayıp “İncele” diyoruz. İnceleyelim bakalım burada ne işimize yarayacak diyenler var sanırım, hemen anlatalım… incele sekmesine tıkladıktan sonra sağ tarafta yeni bir pencere açılacak, burada sitenin HTML kodlarını görebilirsiniz.

Excel webden veri getirme

Excel webden veri getirme

Resimde olduğu gibi, class name adı görünüyor, aradığımız değer “titleColumn” olduğunu öğrendik. Çünkü mouse ile bu değerin üstüne geldiğinizde sol tarafta Esaretin Bedeli yazan kutunun seçili olduğunu fark edeceksiniz.

Şimdi buradaki class name değerini öğrendiğimize göre, artık Excel‘e dönebiliriz.

Excel ‘de yeni bir çalışma sayfası açtıktan sonra hemen Visual Basic Editor penceresine ulaşıyoruz. Ardından açılan makro kod penceresine aşağıdaki kodları kopyalıyoruz.

Yazılan hazır kodların tam olarak ne işe yaradığını öğrenmek isterseniz, makalenin sonunda paylaşacağım konulardan herhangi birine göz atabilirsiniz. Bugün Excel ileri seviye kullanıcılara hitaben bazı ince detayları atlayarak geçiyorum. Tabi ki diğer okurlarım için yönlendirme yapacağım linkler bu yazının en sonunda mevcut olacak.

Yukarıda tırnak ile açtığım küçük bir not var, ‘Excel Buraya yeni kodlar ekleyeceğiz’ yazan alanı siliyoruz ve yerine yazacağımız makro kodlarını anlatıyorum.

  • Döngü oluşturmak ;

İlk olarak yapacağım şey bir döngü hazırlığı oluşturmak, bunun için For Next döngüsünü kullanacağım. For Next döngüsü ne işe yarar ve nasıl kullanıldığına dair araştırma yapmak isterseniz Excel VBA Döngüleri ve Detaylar konusuna göz atabilirsiniz. Buradaki konuda Excele dair tüm makro döngülerini de öğrenebilirsiniz. Konuyu çok dağıtmadan ilk kodları yazmaya başlayalım.

Yukarıda hazırlanan For Next döngüsü 1’den 250’ye kadar çalışacak şekilde hazırlanmıştır. Uygulanacak alanı belirlemek için şu kodu araya ilave ediyoruz.

Yani anladığınız gibi IMDB sitesinde bizim belirlediğimiz alanda (burada belirlediğimiz alan, “http://www.imdb.com/chart/top” linki içerisinden “titleColumn” sınıfı oluyor) 1.satırdan 250. satıra kadar olan değerleri tarayacaktır.

  • Excel Webden Veri Getirmek ;

Şimdi en can alıcı bölüme geliyoruz, onca işlem yaptık, siteye bağlandık html kodlara göz attık, Visual Basic Editör üzerinde yeni kodlar oluşturduk, aradık taradık peki Excel ‘e nasıl gelecek bunlar kardeşim diyorsanız şimdi tam yerindesiniz .)

Taranan bu verileri Excel ‘e getirmek için hücreye yazdıracağımız makro kodlarını söylüyorum;

Evet hepsi bu kadar 🙂

Karışıklık olmaması için yukarıda anlattığım tüm kodları bir araya getirerek, konuyu derlemek istiyorum.

Ekstra birşey daha ekleyelim, mesela bu filmlerin IMDB üzerindeki puanlarını da Excel sayfamızda yanına getirelim.

Bunun için aynı mantıkla ilerliyoruz, öncelikle web sayfasından Puan üzerine sağ tıklayıp incele diyoruz, sağ taraftan class name ismini öğreniyoruz. Buradan “ratingColumn imdbRating” etiketini kopyalıyoruz.

Excel webden veri getirme

Excel webden veri getirme

Yeni oluşturacağımız kodları şu şekilde hazırlayıp, makro kodlarımızla birleştireceğiz;

Puan değerlerini Excel ‘de B sütununa yazdıracaktır.

Grand totalde makro kodlarının son hali şu şekilde oldu,

İşlemler tamam, çalıştırın ve sonuçları inceleyin 🙂

Not: Cells(i,1) ve Cells(i,2) yazan hücre adreslerinin anlamı aslında 1.sütun 1.satır , 2.sütun 1.satır şeklinde yorumlanabilir. 1.sütun A sütunu oluyor, 2.sütun B sütunu oluyor, arada geçen i değişkeni de 1 den 250. satıra kadar gidiyor. Makro kodlarını test ettikçe sonuçları anlamanız kolaylaşacaktır emin olun.

Son olarak söz verdiğim gibi, alternatif konu başlıklarını buradan paylaşıyorum. Bugün hazırladığım makale daha çok ileri seviye kullanıcılarına hitap etmektedir, o yüzden hazırladığım makro kodlarını daha açıklamalı olarak incelemek isterseniz aşağıdaki konulara mutlaka göz atın derim, önemli konular bunlar

Yorum ve önerileriniz için aşağıdaki iletişim formunu kullanabilirsiniz, örnek dosya çalışması isteyen olursa buradan ulaşsın, okuduğunuz için teşekkürler.


[ Web sayfasından dış verileri alma , Webten Bilgi Sorgulama , excel sayfasından webde sorgu yapmak , Excel’e Web’den Veri Alma Nasıl Yapılır , excel webden veri alma makro , Makro ile web sayfasından veri çekme , makro ile webden veri getirmek, veri çekmek , Excele aktarma, getElements , innerText , VBA , Visual Basic Editör , get external data from a web page , get live data from web page , Pull data into Microsoft Excel with Web queries , How to get IMDb data entered into Excel cells ]

 

 


This Post Has 3 Comments

  1. Ulaş Reply

    Hocam öncelikle elinize sağlık.
    Ben kodu çalıştırdım fakat 1.satıra Baba filminden yazmaya başlıyor. Yani Esaretin Bedelini yazmıyor. 250.filmi yazıyor ama ilk filmi yazmıyor.

    Yardımcı olabilir misiniz?

  2. Özen Genç Reply

    Bu siteyi bugün ararken şansa buldum.Bu kadar kaliteli bir siteye şimdiye kadar yorum yapmamalarına çok üzüldüm.Mükemmel bir öğretmensiniz, emeğiniz için çok teşekkür ederim 🙂
    Siteyi sık kullanılanlara ekledim 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir