Sabahın erken saatlerinde sıcak bir fincan taze kahve yudumladığınızı ve bilgisayarınızın size en son başlıkları tek başına okuduğunu düşünün. Kulağa harika gelmiyor mu?
Python ile, her başlığın alıntılarıyla birlikte sizin için en iyi başlıkları okuyacak olan kendi kişiselleştirilmiş haber okuyucunuzu oluşturabilirsiniz. Evet, bu doğru. Doğru kütüphaneleri kullanarak, Python’a her kelimeyi kendi başına okumak zorunda kalmadan tüm sabah rutinlerinizi yapmasını sağlayabilirsiniz.
Bu kodu şu şekilde yazabilir ve en sevdiğiniz haber web sitesine göre ayarlayabilirsiniz.
Atlayıp kodu yazmaya başlamadan önce, birkaç ön koşulu yerine getirmeniz gerekir. Bunlar, Python kullanımını daha kolay ve daha etkili hale getirebilecek bazı çok temel gereksinimlerdir.
Kodun tamamı, bu kılavuz için popüler bir Python IDE olan Jupyter Notebook’ta yazılmıştır. Ayrıca, India Today’in haber sitesi örnek kod içinde kodlanmıştır.
Jupyter Notebook’u indirmek için anakonda paketinin bir parçası olarak kullanabilir veya sisteminize bağımsız bir sürüm indirebilirsiniz.
İndirmek: Anaconda | Jupyter Not Defteri
Lafı daha fazla uzatmadan, kodu daha derinlemesine inceleyelim.
Başlamak için, her biri farklı amaçlara hizmet eden birkaç Python kitaplığı içe aktarmanız gerekir.
import win32com.client as wincl
from urllib.request import urlopen as ureq
from bs4 import BeautifulSoup as soup
sp = wincl.Dispatch("SAPI.spVoice")
Nerede:
Win32.com.client kitaplığını çağıracağınız için bu kod yalnızca Windows’ta çalışır.
Ardından, web sitesinin URL’sini (bağlantısını) URL python’un belleğinde depolanan değişken.
url = https://www.indiatoday.in/top-stories
URL açma komutunu depolamak için yeni bir değişken istemci oluşturun.
client = ureq(url)
print(client)
nerede:
URL’yi bellekte açtığınız için, söz konusu web sitesinin Python üzerinden güvenli olmayan bağlantılara izin olup olmadığını kontrol etmenin zamanı geldi. İstemci değişkenini yazdırabilir ve çıktıyı denetleyebilirsiniz.
Print komutuyla iki olasılık vardır:
URL komutu içinde haber web sitesinin URL’sini tanımladıktan sonra, HTML kodunu bir değişkene aktarmanın zamanı gelmiştir.
page_html = client.read()
print(page_html)
Önlem amaçlı bir adım olarak web sitesinin Python’a içe aktarılan HTML kodunu yazdırmanız gerekir. Bu kodu, Incelemek seçenek.
Kodu dönüştürmeden önce, kapat komutunu kullanarak web sitesini Python’un hafızasından kapatmanız gerekir.
client.close()
HTML kodunu bir Python değişkenine içe aktardığınız için, bulmak ve findall anahtar sözcükleri aramak için komutlar.
HTML kodunu dönüştürmek için aşağıdaki komutu geçirebilirsiniz:
page_soup = soup(page_html , "html.parser")
Nerede:
Kod kullanıma hazır olduğunda, başlık anahtar kelimelerini aramaya başlamak için web sitesi HTML kodunu incelemenin zamanı gelmiştir.
Bunu yapmak için, web sitesinde herhangi bir yeri sağ tıklatın ve İncele’ye tıklayın. Bu, söz konusu web sitesinin HTML kodunu açacaktır.
Web sitesinin kod penceresinde, başlıkları depolayan kapsayıcı etiketlerini bulana kadar kaydırın.
Bunlar, görünüm içeriği etiketleri India Today web sitesinde bulabilirsiniz. Her haber web sitesinin kapsayıcıları değişir, ancak kodda nispeten kolay bir şekilde gezinebilmeniz gerekir.
articles = page_soup.find("div" , { "class" : "view-content" })
Son olarak, Python’un size okuyacağı ana başlıkları içeren alt etiketleri yakalamanız gerekir.
articles = articles.findAll("div" , {"class" : "catagory-listing"})
Görünüm içeriği kapsayıcısı, başlıklarınızın dış kabuğu olan birden çok başlık içerir.
H2 etiketlerini ve her başlıkla listelenen parçacıkları yakalamak için bir döngü çalıştırmanız gerekir.
i = 1
for x in articles:
title = x.find("h2").text
para = x.find("p").text
print(i , title , "
" , "
" , para , "
" , "
")
sp.Speak(title)
sp.Speak(para)
i=i+1
Nerede:
Kodu her çalıştırdığınızda, yüksek sesle okunmadan önce haber sitesindeki yeni başlıklar indirilecektir. Python, kod kümesini her çalıştırdığınızda kodu yürütür, böylece web sitesindeki değişikliklerle sizi güncel tutar.
Kodu yenileyip yeniden çalıştırıncaya kadar eski başlıklar Python tarafından görüntülenmeye ve okunmaya devam eder.
Python, açık kaynaklı bir dil olarak, hem yeni başlayanlara hem de ileri düzey kullanıcılara Güzel Çorba, Selenyum ve diğer çerçeveler gibi bir dizi araç sunar.
Günlük haberlerinizi sesli olarak sunmak istiyorsanız Python bunu kolaylaştırır. Bu dili öğrenmek, her alanda daha iyi bir programcı olmanıza da yardımcı olabilir.