Zamislite rano jutro u kojem ispijate vruću šalicu svježe kave, a računalo vam čita najnovije naslove – sve samo. Ne zvuči li to nevjerojatno?
Pa, s Pythonom možete napraviti svoj vlastiti, personalizirani čitač vijesti, koji će vam čitati sve glavne naslove, zajedno s izvatcima svakog naslova. Da, tako je. Korištenjem pravih biblioteka možete natjerati Python da obavlja sve vaše jutarnje rutine, a da ne morate sami čitati svaku riječ.
Evo kako možete napisati ovaj kod i podesiti ga na svoju omiljenu web stranicu s vijestima.
Preduvjeti za pokretanje koda
Prije nego što uskočite i počnete pisati kod, morate ispuniti nekoliko preduvjeta. Ovo su neki vrlo osnovni zahtjevi koji mogu učiniti upotrebu Pythona lakšom i učinkovitijom.
- Piton: Instalacija najnovije verzije Pythona bila bi dobra odluka. Za najbolje rezultate možete instalirati bilo koji Python IDE.
- Pristup web stranici/internetu s vijestima: Budući da Python kod čita glavne naslove s vaše omiljene web stranice, morate osigurati da možete pristupiti web stranici dok izvodite ovaj kod.
Cijeli kod je napisan u popularnom Jupyter Notebooku Python IDE za ovaj vodič. Osim toga, web-mjesto s vijestima India Today je kodirano unutar uzorka koda.
Da biste preuzeli Jupyter Notebook, možete ga koristiti kao dio paketa anaconda ili preuzeti samostalnu verziju na svoj sustav.
Preuzimanje datoteka:Anakonda | Jupyter Notebook
Bez daljnjeg, uronimo dublje u kod.
Pisanje koda u Pythonu
Za početak morate uvesti nekoliko Python biblioteka, od kojih svaka služi različitim svrhama.
uvoz win32com.client kao wincl
from urllib.request import urlopen kao ureq
iz bs4 import BeautifulSoup kao juha
sp = wincl. Otprema ("SAPI.spVoice")
Gdje:
- win32com.client: Ova biblioteka komunicira sa Windows uređajima i besprijekorno pokreće Python programe.
- urllib.request: Ova biblioteka obrađuje URL vrijednosti iz modula zahtjeva.
- bs4: Knjižnica BS4 sadrži funkciju Beautiful Soup, koja briše podatke s web-mjesta koristeći Python.
- sp = wincl. Otprema ("SAPI.spVoice"): Aktivirajte glasovne naredbe u sustavu Windows.
Ovaj kod će raditi samo u sustavu Windows, jer ćete pozivati biblioteku win32.com.client.
Zatim morate definirati URL (link) web stranice unutar url varijabla, koja je pohranjena u Pythonovoj memoriji.
url = https://www.indiatoday.in/top-stories
Izradite novu varijablu klijenta za pohranu naredbe za otvaranje URL-a.
klijent = ureq (url)
ispis (klijent)
gdje:
- klijent: Nova varijabla.
- ureq: Python funkcija uvezena iz urllib.request, koja otvara pohranjeni url.
Budući da ste otvorili URL u memoriji, vrijeme je da provjerite dopušta li dotična web stranica nezaštićene veze putem Pythona. Možete ispisati varijablu klijenta i provjeriti izlaz.
Dvije su mogućnosti s naredbom za ispis:
- HTTP pogreška: Kada je web stranica sigurna, ne možete ostrugati sadržaj pomoću Pythona.
- Isječak koda: Ako se nakon pokretanja web-mjesta vrati isječak koda, pretpostavite da možete lako povući naslove.
Nakon što definirate URL web-mjesta s vijestima unutar naredbe URL, vrijeme je da uvezete HTML kôd u varijablu.
page_html = client.read()
ispis (stranica_html)
Morate ispisati HTML kod web-mjesta uvezen u Python kao korak predostrožnosti. Možete čak i uskladiti ovaj kod s kodom web stranice koji je dostupan pod Pregledati opcija.
Prije pretvaranja koda, morate zatvoriti web stranicu iz Pythonove memorije pomoću naredbe close.
client.close()
Budući da imate HTML kod uvezen u varijablu Pythona, morate ga pretvoriti u Python čitljiv format da biste primijenili pronaći i findall naredbe za traženje ključnih riječi.
Možete proslijediti sljedeću naredbu za pretvaranje HTML koda:
page_soup = juha (page_html, "html.parser")
Gdje:
- juha_stranice: Nova varijabla.
- juha: Alias za Prekrasan modul za juhu.
- page_html: Varijabla koja sadrži HTML kod s web-mjesta.
- html_parser: Zadana sintaksa za pretvaranje HTML koda.
Nakon što je kôd spreman za upotrebu, vrijeme je da pregledate HTML kôd web-mjesta kako biste počeli tražiti ključne riječi naslova.
Da biste to učinili, desnom tipkom miša kliknite bilo gdje na web stranici i kliknite na Pregled. Ovo će otvoriti HTML kôd za predmetnu web stranicu.
U prozoru koda web-mjesta pomičite se dok ne pronađete oznake spremnika u kojima se pohranjuju naslovi.
Oni su sadržani unutar pogled-sadržaj oznake na web stranici India Today. Spremnici svake web stranice s vijestima razlikuju se, ali trebali biste se moći kretati kroz kod s relativnom lakoćom.
članci = page_soup.find("div", { "class": "view-content" })
Konačno, trebate uhvatiti pod-oznake, koje sadrže glavne naslove koje će vam Python čitati.
articles = articles.findAll("div", {"class": "catagory-listing"})
Spremnik sadržaja za prikaz sadržavat će više naslova, vanjsku ljusku za vaše naslove.
Da biste uhvatili H2 oznake i isječke navedene uz svaki naslov, morate pokrenuti petlju.
i = 1
za x u člancima:
naslov = x.pronađi("h2").tekst
para = x.pronađi("p").tekst
ispis (i, naslov, "
", "
", para, "
", "
")
sp. Govori (naslov)
sp. Govori (para)
i=i+1
Gdje:
- ja: Nova varijabla brojača, koja će se automatski povećavati.
- titula: Nova varijabla za spremanje naslova (h2).
- para: Nova varijabla za držanje paragrafa povezanih sa svakim H2.
- ispis: Naslov naslova i paragrafa bit će ispisani na Python sučelju.
- sp. Govori (naslov): Python će pročitati svaki pohranjeni naslov.
- sp. Govori (para): Python će pročitati svaki pohranjeni isječak odlomka.
- i = i+1: Ova naredba automatski povećava serijski broj povezan sa svakim naslovom prikazanim na Pythonovom sučelju.
Korištenje Pythonovog modula Beautiful Soup za čitanje dnevnih vijesti
Svaki put kada pokrenete kod, svježi naslovi s web-mjesta s vijestima bit će preuzeti prije nego što se pročitaju naglas. Python izvršava kod svaki put kada pokrenete skup kodova, te vas tako obavještava o promjenama na web stranici.
Python će i dalje prikazivati i čitati starije naslove sve dok ne osvježite i ponovno pokrenete kôd.
Lako je koristiti Python za čitanje dnevnih naslova
Python, kao jezik otvorenog koda, nudi niz alata kao što su Beautiful Soup, Selenium i drugi okviri – kako početnicima tako i naprednim korisnicima.
Ako želite svoje dnevne vijesti prenositi glasom, Python to olakšava. Učenje ovog jezika također vam može pomoći da postanete bolji programer u svim područjima.
Bez obzira trebate li Python alate za znanost o podacima, strojno učenje, razvoj weba ili bilo što između, ovaj vas popis pokriva.
Pročitajte dalje
- Programiranje
- Piton
- Vijesti
- Računalni savjeti
- Programiranje
Gaurav Siyal ima dvije godine iskustva pisanja, pisanja za niz tvrtki za digitalni marketing i dokumenata o životnom ciklusu softvera.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu