Ders

Sekizinci derste, Program boyunca öğrendiğimiz konseptlerin üzerinden geçildi, diğer programlama dillerinden bahsedildi ve buradan öğrendiklerinin üzerine koyarak program sonrasında neler yapabilecekleri hakkında ipuçları verildi.

Bu derste yeni işlenen konu ise veri kazıma, spesifik olarak Python’ın requests kütüphanesini kullanarak HTTP request’lerle web’den veri toplama.

Başlamadan Önce

Bu grup çalışmalarındaki egzersizleri yapabilmek için requests kütüphanesini yüklemiş olduğunuzdan emin olun!

python -m pip install requests

Egzersiz 1

Bu egzersizde Wikipedia yardımıyla kendi bilgi kütüphanemizi oluşturacağız. Bunun için yazacağımız program, şunları yapmalı:

  1. Kullanıcıdan bir anahtar kelime istemek.
  2. Bu anahtar kelimeyi Wikipedia’da aratmak.
  3. Bu aramanın sonucu birden fazla sayfa olabilir. Bu durumda, sayfaları numaralandırarak ekrana basmalı ve kullanıcıdan bir tanesini seçmesini istemeliyiz.
  4. Arama sonucu tek bir sayfaysa adım 3 için bu sayfayı kullanıyor olacağız.
  5. Arama hiçbir sayfa döndürmezse kullanıcıya bunu bildirmeliyiz.
  6. Adım 2.1’de seçilen veya 2.2’de elde ettiğimiz sayfayı Wikipedia’da aratmak ve özetini ekrana basmak.
  7. Sayfayı ve özeti bilgi kütüphanesine eklemek

Program, kullanıcı ona boş bir anahtar kelime verene dek devam etmeli. Bittiğinde ise kullanıcının bilgi kütüphanesini ekrana basmalı.

Örnek çalışma #1:

Kendi bilgi kütüphaneni oluşturma zamanı.

Haydi başlayalım. Ne hakkında bilgi edinmek istersin? python
Bu konuda birden fazla sayfa var. Bir tanesini seçmelisin
Sayfa başlıkları:
0 : Python
1 : Python (programming language)
2 : Monty Python
3 : History of Python
4 : Burmese python
5 : PYTHON
6 : Ball python
7 : Reticulated python
8 : Python (missile)
9 : Operation Python
Kaçıncı başlığı aramak istersin? 1
Seçtiğin sayfa ve özeti:
Python (programming language) : Python is an interpreted high-level general-purpose programming language. Its design phi... most popular programming languages.


Başka ne hakkında bilgi edinmek istersin? turing
Bu konuda birden fazla sayfa var. Bir tanesini seçmelisin
Sayfa başlıkları:
0 : Alan Turing
1 : Turing machine
2 : Turing completeness
3 : Turing test
4 : Turing Award
5 : Church–Turing thesis
6 : Turing (disambiguation)
7 : Turing (microarchitecture)
8 : Turing test (disambiguation)
9 : Ture
Kaçıncı başlığı aramak istersin? 0
Seçtiğin sayfa ve özeti:
Alan Turing : Alan Mathison Turing  (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scienti... of the 20th century.

Başka ne hakkında bilgi edinmek istersin? ldfjsdklfjskdlfj
Bu konuda Wikipedia'da hiçbir sayfa bulamadım.

Başka ne hakkında bilgi edinmek istersin?
Arama sonlandırıldı. İşte bilgi kütüphanen:

* Python (programming language) : Python is an interpreted high-level general-purpose programming language. Its design phi... most popular programming languages.

* Alan Turing : Alan Mathison Turing  (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scienti... of the 20th century.

Egzersiz 2

Burcu yaklaşan İngilizce sınavına hazırlanırken sık sık sözlüğe bakmak zorunda kalıyormuş. Bizden anlamını öğrenmek istediği kelimeleri almamızı ve tek tek anlamlarını kanvasta göstermemizi istiyor. Böyle bir programın diğer arkadaşlarının da işine yarayacağını düşündüğü için ilk olarak kullanıcının adını sormamızı istiyor. Daha sonra onu adıyla birlikte selamlayarak kelimeleri sormamız gerekiyor. Her defasında bir kelime alacağız. Kullanıcı bize dur dediğinde soru sormayı bırakarak aldığımız kelimelerin anlamlarını bulacağız ve tek tek kanvasta göstereceğiz. Kanvasa tıklandığında bir sonraki kelimeye geçeceğiz. Örnek çalışma şekli:

Merhaba! Adın ne? Burcu
Merhaba Burcu! Hangi kelimeler hakkında bilgi sahibi olmak istiyorsun? milk
Sonraki kelime? butter
Sonraki kelime? tea
Sonraki kelime? dur

—devamı kanvasta—

Kanvasın ortasında $kelime$ için açıklama: $anlam$ yazmalı.