Immagina una mattina presto in cui stai sorseggiando una tazza calda di caffè fresco e il tuo computer ti legge gli ultimi titoli, tutto da solo. Non suona fantastico?
Bene, con Python puoi creare il tuo lettore di news personalizzato, che leggerà tutti i titoli principali per te, insieme agli estratti di ogni titolo. Sì, è giusto. Usando le librerie giuste, puoi fare in modo che Python esegua tutte le tue routine mattutine, senza dover leggere ogni singola parola da solo.
Ecco come puoi scrivere questo codice e modificarlo sul tuo sito di notizie preferito.
Prerequisiti per l'esecuzione del codice
Prima di entrare e iniziare a scrivere il codice, è necessario soddisfare alcuni prerequisiti. Questi sono alcuni requisiti molto basilari, che possono rendere l'uso di Python più semplice ed efficace.
- Pitone: Avere l'ultima versione di Python installata sarebbe una buona decisione. Puoi installare qualsiasi IDE Python per ottenere i migliori risultati.
- Sito web di notizie/accesso a Internet: Poiché il codice Python legge i titoli principali del tuo sito Web preferito, devi assicurarti di poter accedere al sito Web durante l'esecuzione di questo codice.
L'intero codice è scritto in Jupyter Notebook, un popolare Python IDE per questa guida Inoltre, il sito Web di notizie di India Today è codificato all'interno del codice di esempio.
Per scaricare Jupyter Notebook, puoi usarlo come parte del pacchetto anaconda o scaricare una versione standalone sul tuo sistema.
Scaricamento:Anaconda | Taccuino di Giove
Senza ulteriori indugi, approfondiamo il codice.
Scrivere il codice in Python
Per iniziare, devi importare alcune librerie Python, ognuna con scopi diversi.
importa win32com.client come wincl
da urllib.request import urlopen come ureq
da bs4 import BeautifulSoup as soup
sp = wincl. Invio("SAPI.spVoice")
Dove:
- win32com.client: Questa libreria interagisce con i dispositivi Windows ed esegue i programmi Python senza problemi.
- urllib.richiesta: Questa libreria gestisce i valori URL dal modulo di richiesta.
- bs4: La libreria BS4 contiene la funzione Beautiful Soup, che estrae i dati dai siti Web utilizzando Python.
- sp = wincl. Invio("SAPI.spVoice"): Attiva i comandi vocali in Windows.
Questo codice funzionerà solo su Windows, poiché chiamerai la libreria win32.com.client.
Successivamente, è necessario definire l'URL (link) del sito Web all'interno del file URL variabile, che è memorizzata nella memoria di Python.
URL = https://www.indiatoday.in/top-stories
Crea un nuovo client variabile per memorizzare il comando di apertura dell'URL.
cliente = ureq (url)
stampa (cliente)
dove:
- cliente: Nuova variabile.
- ureq: Funzione Python importata da urllib.request, che apre l'URL memorizzato.
Dato che hai aperto l'URL in memoria, è ora di verificare se il sito Web in questione consente connessioni non protette tramite Python. È possibile stampare la variabile client e controllare l'output.
Ci sono due possibilità con il comando di stampa:
- Errore HTTP: Quando un sito Web è sicuro, non puoi raschiare il contenuto usando Python.
- Frammento di codice: Se viene restituito uno snippet di codice dopo aver eseguito il sito Web, supponiamo che tu possa facilmente estrarre i titoli.
Dopo aver definito l'URL del sito Web di notizie all'interno del comando URL, è il momento di importare il codice HTML in una variabile.
page_html = client.read()
stampa (pagina_html)
È necessario stampare il codice HTML del sito Web importato in Python come passaggio precauzionale. Puoi anche abbinare questo codice con il codice del sito web disponibile sotto il Ispezionare opzione.
Prima di convertire il codice, è necessario chiudere il sito Web dalla memoria di Python utilizzando il comando close.
client.close()
Dal momento che hai il codice HTML importato in una variabile Python, devi convertirlo in un formato leggibile da Python per applicare il file trovare e trova tutto comandi per cercare le parole chiave.
Puoi passare il seguente comando per convertire il codice HTML:
page_soup = zuppa (page_html, "html.parser")
Dove:
- pagina_zuppa: Nuova variabile.
- zuppa: Alias per il Bellissimo modulo zuppa.
- pagina_html: Variabile che contiene il codice HTML del sito web.
- html_parser: Sintassi predefinita per convertire il codice HTML.
Una volta che il codice è pronto per l'uso, è il momento di esaminare il codice HTML del sito Web per iniziare a cercare le parole chiave del titolo.
Per fare ciò, fai clic con il pulsante destro del mouse in un punto qualsiasi del sito Web e fai clic su Ispeziona. Questo aprirà il codice HTML per il sito Web in questione.
Nella finestra del codice del sito Web, scorri fino a individuare i tag contenitore che memorizzano i titoli.
Questi sono contenuti all'interno del visualizza-contenuto tag sul sito web di India Today. I contenitori di ogni sito Web di notizie variano, ma dovresti essere in grado di navigare nel codice con relativa facilità.
articoli = page_soup.find("div", { "class": "view-content" })
Infine, devi acquisire i sottotag, che contengono i titoli principali che Python ti leggerà.
articoli = articoli.findAll("div", {"class": "elenco-categoria"})
Il contenitore del contenuto di visualizzazione conterrà più titoli, il guscio esterno per i tuoi titoli.
Per acquisire i tag H2 e gli snippet elencati con ciascun titolo, è necessario eseguire un ciclo.
io = 1
per x negli articoli:
title = x.find("h2").testo
para = x.find("p").testo
stampa (i, titolo, "
", "
", para, "
", "
")
sp. Parla (titolo)
sp. Parla (par.)
io=io+1
Dove:
- io: Nuova variabile contatore, che verrà incrementata automaticamente.
- titolo: Nuova variabile per salvare il titolo (h2).
- parà: Nuova variabile per contenere i paragrafi associati ad ogni H2.
- Stampa: Il titolo del titolo e il paragrafo verranno stampati sull'interfaccia di Python.
- sp. Parla (titolo): Python leggerà ogni titolo memorizzato.
- sp. Parla (para): Python leggerà ogni frammento di paragrafo memorizzato.
- io = io+1: Questo comando incrementa automaticamente il numero di serie associato a ciascun titolo visualizzato sull'interfaccia di Python.
Usando il modulo Beautiful Soup di Python per leggere le tue notizie quotidiane
Ogni volta che esegui il codice, verranno scaricati nuovi titoli dal sito Web di notizie prima di essere letti ad alta voce. Python esegue il codice ogni volta che esegui il set di codici, tenendoti così aggiornato con le modifiche sul sito web.
I titoli precedenti continueranno a essere visualizzati e letti da Python fino a quando non aggiornerai e rieseguirai il codice.
Usare Python per leggere i tuoi titoli quotidiani è facile
Python, come linguaggio open source, offre una serie di strumenti come Beautiful Soup, Selenium e altri framework, sia per i principianti che per gli utenti avanzati.
Se vuoi ricevere le tue notizie quotidiane tramite voce, Python lo rende facile. Imparare questa lingua particolare può anche aiutarti a diventare un programmatore migliore in tutte le aree.
Se hai bisogno di strumenti Python per la scienza dei dati, l'apprendimento automatico, lo sviluppo web o qualsiasi altra via di mezzo, questo elenco ti copre.
Leggi Avanti
- Programmazione
- Pitone
- Notizia
- Suggerimenti per il computer
- Programmazione
Gaurav Siyal ha due anni di esperienza di scrittura, scrivendo per una serie di società di marketing digitale e documenti sul ciclo di vita del software.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti