Se for deg en tidlig morgen hvor du nipper til en varm kopp fersk kaffe, og datamaskinen leser opp de siste overskriftene for deg – helt på egen hånd. Høres ikke det fantastisk ut?

Vel, med Python kan du bygge din helt egen, personlige nyhetsleser, som vil lese opp alle de øverste overskriftene for deg, sammen med utdragene fra hver overskrift. Ja, det er riktig. Ved å bruke de riktige bibliotekene kan du få Python til å gjøre alle morgenrutinene dine, uten å måtte lese hvert eneste ord på egen hånd.

Slik kan du skrive denne koden og tilpasse den til ditt favorittnyhetsnettsted.

Forutsetninger for å kjøre koden

Før du hopper inn og begynner å skrive koden, må du oppfylle noen få forutsetninger. Dette er noen helt grunnleggende krav, som kan gjøre bruken av Python enklere og mer effektiv.

  1. Python: Å ha den nyeste versjonen av Python installert ville være en god avgjørelse. Du kan installere hvilken som helst Python IDE for best resultat.
  2. Nyhetsnettsted/internetttilgang: Siden Python-koden leser de øverste overskriftene fra favorittnettstedet ditt, må du sørge for at du får tilgang til nettstedet mens du kjører denne koden.

Hele koden er skrevet i Jupyter Notebook, en populær Python IDE for denne veiledningen. I tillegg er India Todays nyhetsnettsted kodet innenfor prøvekoden.

For å laste ned Jupyter Notebook kan du enten bruke den som en del av anaconda-pakken, eller laste ned en frittstående versjon på systemet ditt.

Nedlasting:Anaconda | Jupyter Notebook

Uten videre, la oss gå dypere inn i koden.

Skrive koden i Python

For å starte, må du importere noen få Python-biblioteker, som hver tjener forskjellige formål.

importer win32com.client som wincl
fra urllib.request importer urlopen som ureq
fra bs4 importer BeautifulSoup som suppe
sp = wincl. Dispatch("SAPI.spVoice")

Hvor:

  • win32com.client: Dette biblioteket samhandler med Windows-enheter og kjører Python-programmer sømløst.
  • urllib.request: Dette biblioteket håndterer URL-verdier fra forespørselsmodulen.
  • bs4: BS4-biblioteket inneholder Beautiful Soup-funksjonen, som skraper data fra nettsteder som bruker Python.
  • sp = wincl. Dispatch("SAPI.spVoice"): Aktiver talekommandoene i Windows.

Denne koden fungerer kun på Windows, ettersom du vil ringe win32.com.client-biblioteket.

Deretter må du definere URL-en (lenken) til nettstedet i url variabel, som er lagret i Pythons minne.

url = https://www.indiatoday.in/top-stories

Opprett en ny variabel klient for å lagre URL-åpningskommandoen.

klient = ureq (url)
print (klient)

hvor:

  • klient: Ny variabel.
  • ureq: Python-funksjon importert fra urllib.request, som åpner den lagrede url.

Siden du har åpnet URL-en i minnet, er det på tide å sjekke om den aktuelle nettsiden tillater usikre tilkoblinger via Python. Du kan skrive ut klientvariabelen og sjekke utdataene.

Det er to muligheter med utskriftskommandoen:

  • HTTP-feil: Når et nettsted er sikkert, kan du ikke skrape innholdet med Python.
  • Kodebit: Hvis en kodebit returneres etter å ha kjørt nettsiden, anta at du enkelt kan trekke overskriftene.

Når du har definert URL-en til nyhetsnettstedet i URL-kommandoen, er det på tide å importere HTML-koden til en variabel.

page_html = client.read()
print (page_html)

Du må skrive ut nettsidens HTML-kode importert til Python som et forholdsregler. Du kan til og med matche denne koden med nettstedkoden som er tilgjengelig under Undersøke alternativ.

Før du konverterer koden, må du lukke nettstedet fra Pythons minne ved å bruke lukkekommandoen.

client.close()

Siden du har HTML-koden importert til en Python-variabel, må du konvertere den til et Python-lesbart format for å bruke finne og finne alle kommandoer for å se etter nøkkelord.

Du kan sende følgende kommando for å konvertere HTML-koden:

side_suppe = suppe (page_html, "html.parser")

Hvor:

  • side_suppe: Ny variabel.
  • suppe: Alias ​​for Vakker suppemodul.
  • page_html: Variabel som inneholder HTML-koden fra nettstedet.
  • html_parser: Standard syntaks for å konvertere HTML-koden.

Når koden er klar til bruk, er det på tide å undersøke nettsidens HTML-kode for å begynne å lete etter overskriftsnøkkelord.

For å gjøre det, høyreklikk hvor som helst på nettstedet, og klikk på Inspiser. Dette vil åpne HTML-koden for det aktuelle nettstedet.

På nettsidens kodevindu blar du rundt til du finner containertaggene som lagrer overskriftene.

Disse er inneholdt i visningsinnhold koder på nettstedet India Today. Hvert nyhetsnettsteds containere varierer, men du bør kunne navigere gjennom koden med relativ letthet.

articles = page_soup.find("div", { "class": "view-content" })

Til slutt må du fange opp underkodene, som inneholder hovedoverskriftene Python vil lese opp for deg.

articles = articles.findAll("div", {"class": "catagory-listing"})

Beholderen for visningsinnhold vil inneholde flere overskrifter, det ytre skallet for overskriftene dine.

For å fange opp H2-taggene og utdragene som er oppført med hver overskrift, må du kjøre en loop.

i = 1
for x i artikler:
tittel = x.find("h2").tekst
para = x.finn("p").tekst
print (i, tittel, "
", "
", para,"
", "
")
sp. Snakk (tittel)
sp. Snakk (para)
i=i+1

Hvor:

  • Jeg: Ny tellervariabel, som automatisk økes.
  • tittel: Ny variabel for å lagre overskriften (h2).
  • para: Ny variabel for å inneholde avsnittene knyttet til hver H2.
  • skrive ut: Tittelen på overskriften og paragrafen vil bli skrevet ut på Python-grensesnittet.
  • sp. Snakk (tittel): Python vil lese opp hver lagrede tittel.
  • sp. Snakk (para): Python vil lese opp hver lagret avsnittsbit.
  • i = i+1: Denne kommandoen øker automatisk serienummeret knyttet til hver overskrift som vises på Pythons grensesnitt.

Bruke Pythons vakre suppemodul for å lese dine daglige nyheter

Hver gang du kjører koden, vil ferske overskrifter fra nyhetsnettstedet lastes ned før de blir lest opp. Python kjører koden hver gang du kjører settet med koder, og holder deg dermed oppdatert med endringene på nettstedet.

De eldre overskriftene vil fortsette å vises og leses opp av Python til du oppdaterer og kjører koden på nytt.

Det er enkelt å bruke Python til å lese de daglige overskriftene dine

Python, som et åpen kildekode-språk, tilbyr en rekke verktøy som Beautiful Soup, Selenium og andre rammeverk – til både nybegynnere og avanserte brukere.

Hvis du ønsker å få de daglige nyhetene levert med stemmen, gjør Python det enkelt. Å lære dette spesielle språket kan også hjelpe deg å bli en bedre programmerer på alle områder.

10 nyttige verktøy for Python-utviklere

Enten du trenger Python-verktøy for datavitenskap, maskinlæring, nettutvikling eller noe i mellom, har denne listen deg dekket.

Les Neste

DelekvitringE-post
Relaterte temaer
  • Programmering
  • Python
  • Nyheter
  • Datatips
  • Programmering
Om forfatteren
Gaurav Siyal (56 artikler publisert)

Gaurav Siyal har to års skriveerfaring, og har skrevet for en rekke digitale markedsføringsfirmaer og programvarelivssyklusdokumenter.

Mer fra Gaurav Siyal

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere