Dolayısıyla bunu düzeltmek için stratejimizi değiştirmemiz gerekiyor.
Noktaları yakalamak yerine, alt metin dediğimiz şeyi yakalamalıyız.
Alt metin ise şu: Başlığın altında ne var?
Çünkü her bir başlığın bu alt metinleri var ve bunun altında da müzik var.
Şimdi, bizim durumumuzda, buradaki en üstteki aslında skora sahip değil.
Burada alt metne sahip olduğumuzu görüyorsunuz, ancak skor yok.
Bu yüzden yapabileceğimiz şey biraz daha fazla kontrol yapmaktır.
Kodumuza geri dönersek, şimdi bunu biraz değiştirebiliriz, böylece oyların burada olması
yerine.
Yapabileceğimiz şey alt metni yakalamak.
Ve bu, tüm bağlantıların alt metne sahip olmasını sağlamak için alacağımız alt
metin sınıfı olacak.
O zaman alt metni seçelim.
Ve burada, stratejimizi değiştirerek, hey, istediğim oylar ya da bizim durumumuzda oy, çünkü
burada döngü yapıyoruz, alt metne eşit olacak diyeceğiz.
Döngü yaptığımız yerde ve seçeceğiz.
Sınıf.
Tabii ki.
Aşağıya inersek.
İstediğimiz şey puan sınıfı ve oyumuz da bu yönde olacak.
Unutmayın, bazı durumlarda oylama yapılmayabilir.
Peki şimdi ne yapabiliriz?
Eğer oy verirseniz.
Uzunluğu yoktur çünkü unutmayın, bir dizi alacağız.
Bu uzunluk sıfırsa, bu yanlış olarak değerlendirilecektir.
Ama eğer sıfır değilse, o zaman bunların hepsini yapmanızı istiyorum.
Şimdi de bizim oyumuz.
Burada endeks yapmak yerine sadece oy verin, vergi alın ve puanları değiştirin diyebiliriz.
Ancak yalnızca oy listesi mevcutsa çalışacaktır.
Şimdi bunu test edelim.
Ben kaçacağım.
Bu arada parametrelerimizi oylardan alt metne çevirmemiz gerekiyor.
Hadi yapalım şunu.
Alt metin diyelim.
Alt metin.
Eğer bunu kaydedip tekrar çalıştırırsam.
Liste nesnesinin hiçbir niteliği yoktur, çünkü yine burada bir dizi alıyoruz, bu yüzden dizideki
ilk öğeyi almamız gerekiyor, unutmayın, çünkü alt metni alıyoruz.
Yani bunu tekrar çalıştırırsam.
Tamam.
Görünüşe göre sonunda puanlarımızı aldık ve hata yok.
Bu harika.
Gördüğünüz gibi web kazıma yaparken varsayımlarınızı test ediyorsunuz ve belki de bazı hatalar yapıyorsunuz.
Dolayısıyla, web sitesinin ne yaptığına bağlı olarak bunları ayarlamak ve düzeltmek istersiniz.
Şimdi burada, yapmak istediğim son şey oylamayı Hacker News eklentimize eklemek.
O zaman buradaki baskıyı kaldıralım.
Ve ekleyeceğim.
O.
Oylar.
Burada elde ettiğimiz noktalar gibi, görebilmeniz için bunu biraz daha küçültelim.
Mükemmel.
Hacker News eklentimiz var, hadi test edelim.
Şimdi, size göstermeden önce, size bir şey göstermek istiyorum.
Enumerate söz konusu olduğunda, neden enumerate kullandık?
Çünkü burada bağlantılar ve alt metin olmak üzere iki liste var ve biz sadece bağlantılar listesi üzerinden
numaralandırma yapıyoruz.
Ve alt metin, sayılmıyor.
Burada olan şey, döngümüz içinde bu alt metne erişebilmemiz için indekse ihtiyacımız olmasıdır.
Çünkü aksi takdirde, numaralandırma yapmazsak, hem bağlantıları hem de alt metin öğelerini almanın bir yolu yoktur.
Örneğin, burada bağlantılarım sadece öğeye dönüştürülebilir.
Ve.
Madde, ama alt metin.
Burada sahip olduğumuz dizini kullanmamız gerekecek.
Umarım bu mantıklıdır.
Şimdi bunu yazdıralım ve nasıl göründüğüne bakalım.
Çıktı alacağım.
Güvenli seçeneğine basın ve betiğimizi çalıştıralım.
Oh, ve burada küçük bir hata var.
Küme parantezlerinin dışarıda olduğundan emin olmalıyız.
Eğer bunu çalıştırırsam.
Tamam.
Verilerimizi aldığımızı görüyoruz ve sadece 307 oy alan VLC'deki güvenlik sorunları hakkında başlığımız
olduğunu kontrol edelim.
Sayfayı aşağı kaydırırsam bunu kontrol edelim.
VLC ile ilgili 307 oy alan güvenlik sorunu hakkında.
Harika.
Bu işe yarıyor gibi görünüyor.
Senaryomuz çalışıyor.
Harika.
Şimdi, buraya eklemek istediğim son şey, tüm bu yazdırma işleminin biraz çirkin olduğu ve ideal olarak bir şeyleri terminale güzel
bir şekilde yazdırabileceğimizdir.
Python'da kullanabileceğimiz bir modülümüz, yerleşik bir modülümüz var.
Pretty print olarak adlandırılır ve bu p print gibi içe aktarabiliriz.
Şimdi şuna bir bak.
Buraya yazdırmak yerine.
Baskı yapıyorum.
Baskı.
Bakalım bir fark görecek miyiz?
Tamam.
Şimdi biraz daha düzgün oldu.
Biraz daha fazla alanımız var ve eskisinden çok daha temiz.
Bu gerçekten çok hoş.
Diğer bir husus ise, bahsettiğimiz gibi, sadece 100'ün üzerinde olan oylarla ilgileniyoruz.
Öyleyse buraya bir if ifadesi daha ekleyelim.
Bunu biraz daha büyütelim.
Ve buradaki noktalar dahilinde, sadece eğer diyeceğiz.
Puan.
Ah, 99'dan yüksek.
Sonra da güncellenmiş Hacker Haberlerimize ekleyeceğiz.
Hadi kurtaralım.
Şunu bir dene.
Tamam.
Görünüşe göre sadece 100'ün üzerinde puanı olan hikayelerimiz var, bu yüzden güzel ve temiz.
Şimdi çok daha küçük.
Harika.
Şimdi buna eklemek istediğim birkaç şey daha var.
İdeal olarak, bu oylar sıralanır, böylece en yüksek oy en üstte ve en düşük oy en altta
olur.
Bu şekilde, önce hangi hikayeyi okumam gerektiğine karar vermem daha kolay oluyor.
Bunu bir sonraki videoda inceleyelim.
Güle güle.