Predstavte si skoré ráno, keď popíjate horúcu šálku čerstvej kávy a váš počítač vám prečíta najnovšie titulky – všetko sám. Neznie to úžasne?
S Pythonom si môžete vytvoriť svoj vlastný prispôsobený čítač správ, ktorý za vás prečíta všetky hlavné titulky spolu s úryvkami každého nadpisu. Áno, to je správne. Použitím správnych knižníc môžete prinútiť Python robiť všetky vaše ranné rutiny bez toho, aby ste museli čítať každé slovo samostatne.
Takto môžete napísať tento kód a vyladiť ho na svoj obľúbený spravodajský web.
Predbežné požiadavky na spustenie Kódexu
Predtým, ako začnete písať kód, musíte splniť niekoľko predpokladov. Toto sú niektoré veľmi základné požiadavky, ktoré môžu zjednodušiť a zefektívniť používanie Pythonu.
- Python: Mať nainštalovanú najnovšiu verziu Pythonu by bolo dobré rozhodnutie. Na dosiahnutie najlepších výsledkov môžete nainštalovať ľubovoľné IDE Pythonu.
- Spravodajský web/prístup na internet: Keďže kód Python číta hlavné nadpisy z vašej obľúbenej webovej stránky, musíte sa uistiť, že máte prístup k webovej lokalite počas spúšťania tohto kódu.
Celý kód je napísaný v populárnom Jupyter Notebooku Python IDE pre túto príručku. Spravodajská webová stránka India Today je navyše kódovaná v rámci vzorového kódu.
Ak si chcete stiahnuť Jupyter Notebook, môžete ho použiť buď ako súčasť balíka anaconda, alebo si stiahnuť samostatnú verziu do svojho systému.
Stiahnuť ▼:Anakonda | Zápisník Jupyter
Bez ďalších okolkov sa pozrime hlbšie do kódu.
Písanie kódu v Pythone
Ak chcete začať, musíte importovať niekoľko knižníc Pythonu, z ktorých každá slúži na iné účely.
importovať win32com.client ako wincl
z urllib.request importovať urlopen ako ureq
z bs4 importujte BeautifulSoup ako polievku
sp = wincl. Dispatch("SAPI.spVoice")
Kde:
- win32com.client: Táto knižnica spolupracuje so zariadeniami Windows a bezproblémovo spúšťa programy Python.
- urllib.request: Táto knižnica spracováva URL hodnoty z modulu požiadaviek.
- bs4: Knižnica BS4 obsahuje funkciu Beautiful Soup, ktorá zoškrabáva dáta z webových stránok pomocou Pythonu.
- sp = wincl. Dispatch("SAPI.spVoice"): Aktivujte hlasové príkazy v systéme Windows.
Tento kód bude fungovať iba v systéme Windows, pretože budete volať knižnicu win32.com.client.
Ďalej musíte definovať URL (odkaz) webovej stránky v rámci url premenná, ktorá je uložená v pamäti Pythonu.
url = https://www.indiatoday.in/top-stories
Vytvorte nového klienta premennej na uloženie príkazu na otvorenie adresy URL.
klient = ureq (url)
vytlačiť (klient)
kde:
- zákazník: Nová premenná.
- ureq: Funkcia Python importovaná z urllib.request, ktorá otvorí uloženú adresu URL.
Keďže ste otvorili URL v pamäti, je čas skontrolovať, či daná webová stránka umožňuje nezabezpečené pripojenie cez Python. Môžete vytlačiť klientsku premennú a skontrolovať výstup.
Príkaz print má dve možnosti:
- HTTPError: Keď je web zabezpečený, nemôžete obsah zoškrabať pomocou Pythonu.
- Úryvok kódu: Ak sa po spustení webovej stránky vráti útržok kódu, predpokladajme, že titulky môžete jednoducho stiahnuť.
Po definovaní adresy URL spravodajského webu v príkaze URL je čas importovať kód HTML do premennej.
page_html = client.read()
vytlačiť (page_html)
Ako preventívny krok musíte vytlačiť HTML kód webovej stránky importovaný do Pythonu. Tento kód môžete dokonca porovnať s kódom webovej stránky dostupným pod Skontrolujte možnosť.
Pred konverziou kódu musíte zatvoriť webovú stránku z pamäte Pythonu pomocou príkazu close.
client.close()
Keďže máte kód HTML importovaný do premennej Pythonu, musíte ho skonvertovať do formátu čitateľného v Pythone, aby ste mohli použiť Nájsť a findall príkazy na vyhľadanie kľúčových slov.
Na konverziu HTML kódu môžete zadať nasledujúci príkaz:
page_soup = polievka (page_html, "html.parser")
Kde:
- page_soup: Nová premenná.
- polievka: Alias pre Modul Krásna polievka.
- page_html: Premenná, ktorá obsahuje HTML kód z webovej stránky.
- html_parser: Predvolená syntax na konverziu kódu HTML.
Keď je kód pripravený na použitie, je čas preskúmať HTML kód webovej stránky a začať hľadať kľúčové slová v nadpise.
Ak to chcete urobiť, kliknite pravým tlačidlom myši kdekoľvek na webovej lokalite a kliknite na položku Skontrolovať. Tým sa otvorí HTML kód pre danú webovú stránku.
V okne kódu webovej stránky sa posúvajte, kým nenájdete kontajnerové značky, v ktorých sú uložené nadpisy.
Tieto sú obsiahnuté v obsah zobrazenia značky na webovej stránke India Today. Kontajnery každého spravodajského webu sa líšia, ale mali by ste byť schopní prechádzať kódom relatívne ľahko.
články = page_soup.find("div", { "class": "view-content" })
Nakoniec musíte zachytiť podznačky, ktoré obsahujú hlavné nadpisy, ktoré vám Python prečíta.
article = articles.findAll("div", {"class": "catagory-listing"})
Kontajner obsahu zobrazenia bude obsahovať viacero nadpisov, vonkajší obal pre vaše nadpisy.
Ak chcete zachytiť značky H2 a úryvky uvedené pri každom nadpise, musíte spustiť cyklus.
i = 1
pre x v článkoch:
nadpis = x.find("h2").text
para = x.find("p").text
vytlačiť (i, názov, "
", "
", ods. "
", "
")
sp. Hovoriť (názov)
sp. Hovorte (odst.)
i=i+1
Kde:
- ja: Nová premenná počítadla, ktorá sa bude automaticky zvyšovať.
- názov: Nová premenná na uloženie nadpisu (h2).
- odsek: Nová premenná na uloženie odsekov spojených s každým H2.
- vytlačiť: Názov nadpisu a odsek budú vytlačené v rozhraní Pythonu.
- sp. Hovoriť (titul): Python prečíta každý uložený titul.
- sp. Hovorte (odsek): Python prečíta každý uložený úryvok odseku.
- i = i+1: Tento príkaz automaticky zvyšuje sériové číslo spojené s každým nadpisom zobrazeným v rozhraní Pythonu.
Používanie modulu Krásna polievka Pythonu na čítanie denných správ
Zakaždým, keď spustíte kód, stiahnu sa nové titulky zo spravodajského webu a až potom sa prečítajú nahlas. Python spustí kód zakaždým, keď spustíte sadu kódov, čím vás informuje o zmenách na webovej lokalite.
Python bude naďalej zobrazovať a čítať staršie nadpisy, kým neobnovíte a znova nespustíte kód.
Používanie Pythonu na čítanie denných nadpisov je jednoduché
Python ako jazyk s otvoreným zdrojovým kódom ponúka sériu nástrojov, ako napríklad Beautiful Soup, Selenium a ďalšie frameworky – začiatočníkom aj pokročilým používateľom.
Ak chcete, aby sa vaše denné správy doručovali hlasom, Python to uľahčuje. Učenie sa tohto konkrétneho jazyka vám tiež môže pomôcť stať sa lepším programátorom vo všetkých oblastiach.
Či už potrebujete nástroje Python pre vedu o údajoch, strojové učenie, vývoj webových aplikácií alebo čokoľvek medzi tým, tento zoznam vás pokryje.
Prečítajte si ďalej
- Programovanie
- Python
- Správy
- Počítačové tipy
- Programovanie
Gaurav Siyal má dvojročné skúsenosti s písaním, písaním pre sériu digitálnych marketingových firiem a dokumentov životného cyklu softvéru.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber