Forestil dig en tidlig morgen, hvor du nipper til en varm kop frisk kaffe, og din computer læser de seneste overskrifter op for dig – helt på egen hånd. Lyder det ikke fantastisk?
Nå, med Python kan du bygge din helt egen, personlige nyhedslæser, som læser alle de øverste overskrifter op for dig sammen med uddragene fra hver overskrift. Ja det er rigtigt. Ved at bruge de rigtige biblioteker kan du få Python til at lave alle dine morgenrutiner uden at skulle læse hvert eneste ord på egen hånd.
Sådan kan du skrive denne kode og tilpasse den til dit foretrukne nyhedswebsted.
Forudsætninger for at køre koden
Før du hopper ind og begynder at skrive koden, skal du opfylde et par forudsætninger. Dette er nogle helt grundlæggende krav, som kan gøre brugen af Python nemmere og mere effektiv.
- Python: At have den seneste version af Python installeret ville være en god beslutning. Du kan installere enhver Python IDE for de bedste resultater.
- Nyhedswebsted/internetadgang: Da Python-koden læser de øverste overskrifter fra dit yndlingswebsted, skal du sikre dig, at du kan få adgang til webstedet, mens du kører denne kode.
Hele koden er skrevet i Jupyter Notebook, en populær Python IDE for denne guide. Derudover er India Todays nyhedswebsted kodet i prøvekoden.
For at downloade Jupyter Notebook kan du enten bruge den som en del af anaconda-pakken eller downloade en selvstændig version på dit system.
Hent:Anaconda | Jupyter notesbog
Lad os uden videre dykke dybere ned i koden.
At skrive koden i Python
For at starte skal du importere et par Python-biblioteker, der hver tjener forskellige 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 bibliotek interagerer med Windows-enheder og kører Python-programmer problemfrit.
- urllib.request: Dette bibliotek håndterer URL-værdier fra anmodningsmodulet.
- bs4: BS4-biblioteket indeholder Beautiful Soup-funktionen, som skraber data fra websteder ved hjælp af Python.
- sp = wincl. Dispatch("SAPI.spVoice"): Aktiver stemmekommandoer i Windows.
Denne kode fungerer kun på Windows, da du vil kalde win32.com.client-biblioteket.
Dernæst skal du definere webadressen (linket) på webstedet i url variabel, som er gemt i Pythons hukommelse.
url = https://www.indiatoday.in/top-stories
Opret en ny variabel klient for at gemme URL-åbningskommandoen.
klient = ureq (url)
print (klient)
hvor:
- klient: Ny variabel.
- ureq: Python-funktion importeret fra urllib.request, som åbner den lagrede url.
Da du har åbnet URL'en i hukommelsen, er det tid til at tjekke, om den pågældende hjemmeside tillader usikrede forbindelser via Python. Du kan udskrive klientvariablen og kontrollere outputtet.
Der er to muligheder med print-kommandoen:
- HTTP-fejl: Når et websted er sikkert, kan du ikke skrabe indholdet ved hjælp af Python.
- Kodestykke: Hvis et kodestykke returneres efter at have kørt hjemmesiden, så antag, at du nemt kan trække overskrifterne.
Når du har defineret URL-adressen til nyhedswebstedet i URL-kommandoen, er det tid til at importere HTML-koden til en variabel.
page_html = client.read()
print (page_html)
Du skal udskrive hjemmesidens HTML-kode importeret til Python som et sikkerhedstrin. Du kan endda matche denne kode med webstedskoden, der er tilgængelig under Inspicere mulighed.
Før du konverterer koden, skal du lukke webstedet fra Pythons hukommelse ved at bruge lukkekommandoen.
client.close()
Da du har HTML-koden importeret til en Python-variabel, skal du konvertere den til et Python-læsbart format for at anvende finde og findall kommandoer til at lede efter nøgleord.
Du kan sende følgende kommando for at konvertere HTML-koden:
side_suppe = suppe (page_html, "html.parser")
Hvor:
- side_suppe: Ny variabel.
- suppe: Alias for Smukt suppemodul.
- side_html: Variabel som indeholder HTML-koden fra hjemmesiden.
- html_parser: Standardsyntaks til at konvertere HTML-koden.
Når koden er klar til brug, er det tid til at undersøge hjemmesidens HTML-kode for at begynde at lede efter overskriftsøgeord.
For at gøre det skal du højreklikke hvor som helst på webstedet og klikke på Inspicer. Dette vil åbne HTML-koden for det pågældende websted.
Rul rundt i webstedets kodevindue, indtil du finder de container-tags, der gemmer overskrifterne.
Disse er indeholdt i visningsindhold tags på India Today-webstedet. Hvert nyhedswebsteds containere varierer, men du burde være i stand til at navigere gennem koden med relativ lethed.
articles = page_soup.find("div", { "class": "view-content" })
Til sidst skal du fange undertaggene, som indeholder hovedoverskrifterne, som Python læser op for dig.
artikler = articles.findAll("div", {"class": "catagory-listing"})
Visningsindholdsbeholderen vil indeholde flere overskrifter, den ydre skal for dine overskrifter.
For at fange H2-tags og uddragene, der er angivet med hver overskrift, skal du køre en løkke.
i = 1
for x i artikler:
title = x.find("h2").tekst
para = x.find("p").tekst
print (i, titel, "
", "
", para,"
", "
")
sp. Tal (titel)
sp. Tal (para)
i=i+1
Hvor:
- jeg: Ny tællervariabel, som automatisk øges.
- titel: Ny variabel for at gemme overskriften (h2).
- af: Ny variabel til at indeholde afsnittene knyttet til hver H2.
- Print: Titlen på overskriften og paragrafen vil blive udskrevet på Python-grænsefladen.
- sp. Tal (Titel): Python vil læse hver gemt titel op.
- sp. Tal (afsnit): Python læser hvert gemt afsnitsuddrag op.
- i = i+1: Denne kommando øger automatisk serienummeret forbundet med hver overskrift, der vises på Pythons grænseflade.
Brug af Pythons smukke suppemodul til at læse dine daglige nyheder
Hver gang du kører koden, vil friske overskrifter fra nyhedshjemmesiden blive downloadet, før de bliver læst op. Python eksekverer koden hver gang du kører sættet af koder, og holder dig derved opdateret med ændringerne på hjemmesiden.
De ældre overskrifter vil fortsat blive vist og læst op af Python, indtil du opdaterer og kører koden igen.
Det er nemt at bruge Python til at læse dine daglige overskrifter
Python, som et open source-sprog, tilbyder en række værktøjer såsom Beautiful Soup, Selenium og andre rammer - til både begyndere og avancerede brugere.
Hvis du ønsker at få dine daglige nyheder leveret med stemmen, gør Python det nemt. At lære dette særlige sprog kan også hjælpe dig med at blive en bedre programmør på alle områder.
Uanset om du har brug for Python-værktøjer til datavidenskab, maskinlæring, webudvikling eller noget derimellem, har denne liste dig dækket.
Læs Næste
- Programmering
- Python
- Nyheder
- Computer tips
- Programmering
Gaurav Siyal har to års skriveerfaring og har skrevet for en række digitale marketingfirmaer og softwarelivscyklusdokumenter.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere