Képzeljen el egy kora reggelt, amikor egy forró csésze friss kávét kortyolgat, és számítógépe felolvassa Önnek a legfrissebb híreket – mindezt önmagában. Hát nem hangzik elképesztően?
Nos, a Python segítségével elkészítheti saját, személyre szabott hírolvasóját, amely felolvassa az összes legfontosabb címet, az egyes címsorok kivonataival együtt. Igen ez így van. A megfelelő könyvtárak használatával a Python elvégezheti az összes reggeli rutinját anélkül, hogy minden egyes szót egyedül kellene elolvasnia.
Így írhatja meg ezt a kódot, és módosíthatja kedvenc hírwebhelyére.
A kód futtatásának előfeltételei
Mielőtt belevág, és elkezdi írni a kódot, teljesítenie kell néhány előfeltételt. Ezek néhány nagyon alapvető követelmény, amelyek megkönnyíthetik és hatékonyabbá tehetik a Python használatát.
- Piton: Jó döntés lenne a Python legújabb verziójának telepítése. Bármely Python IDE-t telepíthet a legjobb eredmény érdekében.
- Híroldal/internet hozzáférés: Mivel a Python kód beolvassa kedvenc webhelyének legfelső főcímeit, biztosítania kell, hogy a kód futtatása közben hozzáférjen a webhelyhez.
A teljes kód a Jupyter Notebookban van írva, amely egy népszerű Python IDE ehhez az útmutatóhoz. Ezenkívül az India Today hírwebhelye a mintakódon belül van kódolva.
A Jupyter Notebook letöltéséhez használhatja az anaconda csomag részeként, vagy töltsön le egy önálló verziót a rendszerére.
Letöltés:Anakonda | Jupyter jegyzetfüzet
Minden további nélkül ássuk be mélyebben a kódot.
A kód írása Pythonban
A kezdéshez importálnia kell néhány Python-könyvtárat, amelyek mindegyike más-más célt szolgál.
importálja a win32com.client fájlt wincl néven
innen: urllib.request import urlopen as ureq
a bs4 import BeautifulSoup levesként
sp = wincl. Feladás ("SAPI.spVoice")
Ahol:
- win32com.client: Ez a könyvtár kölcsönhatásba lép a Windows-eszközökkel, és zökkenőmentesen futtatja a Python programokat.
- urllib.request: Ez a könyvtár kezeli a kérelem modulból származó URL-értékeket.
- bs4: A BS4 könyvtár tartalmazza a Beautiful Soup funkciót, amely Python használatával adatokat kapar a webhelyekről.
- sp = wincl. Feladás ("SAPI.spVoice"): Aktiválja a Hangutasításokat a Windows rendszerben.
Ez a kód csak Windows rendszeren fog működni, mivel Ön a win32.com.client könyvtárat fogja hívni.
Ezután meg kell határoznia a webhely URL-címét (hivatkozását) a url változó, amely a Python memóriájában van tárolva.
url = https://www.indiatoday.in/top-stories
Hozzon létre egy új változó klienst az URL megnyitási parancs tárolásához.
kliens = ureq (url)
nyomtatás (kliens)
ahol:
- ügyfél: Új változó.
- ureq: Az urllib.request fájlból importált Python függvény, amely megnyitja a tárolt URL-t.
Mivel megnyitotta az URL-t a memóriában, ideje ellenőrizni, hogy a kérdéses webhely engedélyezi-e a nem biztonságos Python-kapcsolatokat. Kinyomtathatja az ügyfélváltozót, és ellenőrizheti a kimenetet.
A print paranccsal két lehetőség van:
- HTTP hiba: Ha egy webhely biztonságos, a tartalmat nem lehet lekaparni Python használatával.
- Kódrészlet: Ha egy kódrészletet ad vissza a webhely futtatása után, feltételezze, hogy könnyen meg tudja húzni a címsorokat.
Miután meghatározta a hírwebhely URL-jét az URL parancsban, ideje importálni a HTML-kódot egy változóba.
page_html = kliens.read()
nyomtatás (page_html)
Elővigyázatossági lépésként ki kell nyomtatnia a webhely Pythonba importált HTML-kódját. Ezt a kódot akár a webhely kódjával is egyeztetheti, amely a következő alatt található Vizsgálja meg választási lehetőség.
A kód konvertálása előtt be kell zárnia a webhelyet a Python memóriájából a close paranccsal.
client.close()
Mivel a HTML-kódot egy Python-változóba importálta, át kell konvertálnia Python-olvasható formátumba a megtalálja és Találd meg mindet parancsokat a kulcsszavak kereséséhez.
A következő parancsot adhatja át a HTML kód konvertálásához:
page_soup = leves (page_html, "html.parser")
Ahol:
- page_soup: Új változó.
- leves: Alias a Gyönyörű leves modul.
- page_html: Változó, amely a webhely HTML-kódját tartalmazza.
- html_parser: Alapértelmezett szintaxis a HTML-kód konvertálásához.
Ha a kód készen áll a használatra, ideje megvizsgálni a webhely HTML-kódját, és elkezdeni keresni a címsor kulcsszavait.
Ehhez kattintson a jobb gombbal bárhol a webhelyen, majd kattintson a Vizsgálat elemre. Ezzel megnyílik a kérdéses webhely HTML-kódja.
A webhely kódablakában görgessen körbe, amíg meg nem találja a címsorokat tároló tárolócímkéket.
Ezeket a nézet-tartalom címkéket az India Today webhelyen. Az egyes hírwebhelyek tárolói eltérőek, de viszonylag könnyen navigálhat a kódban.
cikkek = page_soup.find("div", { "class": "view-content" })
Végül rögzítenie kell az alcímkéket, amelyek a Python által felolvasott fő címsorokat tartalmazzák.
cikkek = cikkek.findAll("div", {"osztály": "kategória-lista"})
A nézettartalom-tároló több címsort tartalmaz, a címsorok külső héja.
A H2 címkék és az egyes címsorokhoz tartozó részletek rögzítéséhez ciklust kell futtatnia.
i = 1
x-re a cikkekben:
cím = x.find("h2").szöveg
para = x.find("p").szöveg
nyomtatás (i, cím, "
", "
", para, "
", "
")
sp. Beszélj (cím)
sp. Beszélj (para)
i=i+1
Ahol:
- én: Új számlálóváltozó, amely automatikusan növekszik.
- cím: Új változó a címsor mentéséhez (h2).
- para: Új változó az egyes H2-ekhez társított bekezdések tárolására.
- nyomtatás: A főcím és a paragrafus címe a Python felületén lesz kinyomtatva.
- sp. Beszélj (cím): A Python minden tárolt címet felolvas.
- sp. Beszélj (para): A Python minden tárolt bekezdésrészletet felolvas.
- i = i+1: Ez a parancs automatikusan megnöveli a Python felületén megjelenő minden egyes címsorhoz társított sorozatszámot.
A Python Beautiful Soup moduljának használata a napi hírek olvasásához
Minden alkalommal, amikor lefuttatja a kódot, a rendszer letölti a hírwebhelyről a friss címeket, mielőtt felolvassák őket. A Python a kódkészlet minden egyes futtatásakor végrehajtja a kódot, így folyamatosan tájékoztatja Önt a webhelyen történt változásokról.
A Python továbbra is megjeleníti és felolvassa a régebbi címsorokat, amíg nem frissíti és újra lefuttatja a kódot.
A Python használata a napi főcímek felolvasására egyszerű
A Python, mint nyílt forráskódú nyelv, számos eszközt kínál, mint például a Beautiful Soup, a Selenium és más keretrendszerek – kezdőknek és haladóknak egyaránt.
Ha napi híreit hangon szeretné megkapni, a Python ezt megkönnyíti. Ennek a nyelvnek a tanulása segíthet abban is, hogy minden területen jobb programozóvá váljon.
Akár Python-eszközökre van szüksége adattudományhoz, gépi tanuláshoz, webfejlesztéshez vagy bármi máshoz, ez a lista mindent megtalál.
Olvassa el a következőt
- Programozás
- Piton
- hírek
- Számítógépes tippek
- Programozás
Gaurav Siyal két éves írási tapasztalattal rendelkezik, számos digitális marketingcégnek ír és szoftver-életciklus-dokumentumokat írt.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez