Imaginați-vă o dimineață devreme în care savurați o ceașcă fierbinte de cafea proaspătă, iar computerul vă citește cele mai recente titluri - totul singur. Nu sună uimitor?

Ei bine, cu Python, vă puteți construi propriul dvs. cititor de știri personalizat, care va citi toate titlurile de top pentru dvs., împreună cu fragmentele fiecărui titlu. Da, așa e. Folosind bibliotecile potrivite, îl poți determina pe Python să-ți facă toate rutinele de dimineață, fără a fi nevoie să citești fiecare cuvânt pe cont propriu.

Iată cum puteți scrie acest cod și îl puteți modifica pe site-ul dvs. de știri preferat.

Cerințe preliminare pentru rularea codului

Înainte de a intra și de a începe să scrieți codul, trebuie să îndepliniți câteva cerințe prealabile. Acestea sunt câteva cerințe de bază, care pot face utilizarea Python mai ușoară și mai eficientă.

  1. Piton: A avea cea mai recentă versiune de Python instalată ar fi o decizie bună. Puteți instala orice IDE Python pentru cele mai bune rezultate.
  2. Site-ul de știri/acces la internet: Deoarece codul Python citește primele titluri de pe site-ul dvs. preferat, trebuie să vă asigurați că puteți accesa site-ul în timp ce rulați acest cod.

Întregul cod este scris în Jupyter Notebook, un popular Python IDE pentru acest ghid. În plus, site-ul web de știri India Today este codificat în exemplul de cod.

Pentru a descărca Jupyter Notebook, îl puteți folosi fie ca parte a pachetului anaconda, fie să descărcați o versiune independentă pe sistemul dvs.

Descarca:Anaconda | Caietul Jupyter

Fără alte prelungiri, haideți să aprofundăm codul.

Scrierea codului în Python

Pentru a începe, trebuie să importați câteva biblioteci Python, fiecare având scopuri diferite.

importați win32com.client ca wincl
din urllib.request import urlopen ca ureq
de la bs4 import BeautifulSoup sub formă de supă
sp = wincl. Dispatch ("SAPI.spVoice")

Unde:

  • win32com.client: Această bibliotecă interacționează cu dispozitivele Windows și rulează programe Python fără probleme.
  • urllib.request: Această bibliotecă gestionează valorile URL din modulul de solicitare.
  • bs4: Biblioteca BS4 conține funcția Beautiful Soup, care extrage datele de pe site-uri web folosind Python.
  • sp = wincl. Dispatch ("SAPI.spVoice"): Activați comenzile vocale în Windows.

Acest cod va funcționa numai pe Windows, deoarece veți apela biblioteca win32.com.client.

Apoi, trebuie să definiți adresa URL (link) a site-ului web în cadrul url variabilă, care este stocată în memoria lui Python.

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

Creați un nou client variabil pentru a stoca comanda de deschidere a adresei URL.

client = ureq (url)
imprimare (client)

Unde:

  • client: Variabilă nouă.
  • ureq: Funcția Python importată din urllib.request, care deschide adresa URL stocată.

Deoarece ați deschis adresa URL în memorie, este timpul să verificați dacă site-ul web în cauză permite conexiuni nesecurizate prin Python. Puteți imprima variabila client și puteți verifica rezultatul.

Există două posibilități cu comanda print:

  • Eroare HTTP: Când un site web este securizat, nu puteți răzui conținutul folosind Python.
  • Fragment de cod: Dacă un fragment de cod este returnat după rularea site-ului web, presupuneți că puteți extrage cu ușurință titlurile.

Odată ce ați definit adresa URL a site-ului de știri în cadrul comenzii URL, este timpul să importați codul HTML într-o variabilă.

page_html = client.read()
imprimare (page_html)

Trebuie să imprimați codul HTML al site-ului web importat în Python ca pas de precauție. Puteți chiar să potriviți acest cod cu codul site-ului disponibil sub Inspecta opțiune.

Înainte de a converti codul, trebuie să închideți site-ul web din memoria lui Python utilizând comanda de închidere.

client.close()

Deoarece aveți codul HTML importat într-o variabilă Python, trebuie să îl convertiți într-un format care poate fi citit prin Python pentru a aplica găsi și Găsiți toate comenzi pentru a căuta cuvinte cheie.

Puteți transmite următoarea comandă pentru a converti codul HTML:

page_soup = supă (page_html, "html.parser")

Unde:

  • page_soup: Variabilă nouă.
  • supă: Alias ​​pentru Frumos modul Supă.
  • page_html: Variabilă care conține codul HTML de pe site.
  • html_parser: Sintaxa implicită pentru a converti codul HTML.

Odată ce codul este gata de utilizare, este timpul să examinați codul HTML al site-ului web pentru a începe să căutați cuvinte cheie pentru titlu.

Pentru a face acest lucru, faceți clic dreapta oriunde pe site și faceți clic pe Inspectați. Aceasta va deschide codul HTML pentru site-ul web în cauză.

În fereastra de cod a site-ului web, derulați până când găsiți etichetele containerului care stochează titlurile.

Acestea sunt cuprinse în vizualizare-conținut etichete pe site-ul web India Today. Containerele fiecărui site de știri variază, dar ar trebui să puteți naviga prin cod cu relativă ușurință.

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

În cele din urmă, trebuie să capturați sub-etichetele, care conțin titlurile principale pe care Python vi le va citi.

articole = articles.findAll("div", {"clasa": "lista-categorii"})

Containerul de vizualizare a conținutului va conține mai multe titluri, învelișul exterior pentru titlurile dvs.

Pentru a captura etichetele H2 și fragmentele enumerate cu fiecare titlu, trebuie să rulați o buclă.

i = 1
pentru x în articole:
titlu = x.find("h2").text
para = x.find("p").text
tipărire (i, titlu, "
", "
", para, "
", "
")
sp. Vorbește (titlu)
sp. Vorbește (para)
i=i+1

Unde:

  • eu: Variabilă nouă contor, care va fi incrementată automat.
  • titlu: Variabilă nouă pentru salvarea titlului (h2).
  • para: Variabilă nouă pentru a păstra paragrafele asociate cu fiecare H2.
  • imprimare: Titlul titlului și paragraful vor fi tipărite pe interfața Python.
  • sp. Vorbește (titlu): Python va citi fiecare titlu stocat.
  • sp. Vorbește (para): Python va citi fiecare fragment de paragraf stocat.
  • i = i+1: Această comandă incrementează automat numărul de serie asociat fiecărui titlu afișat pe interfața lui Python.

Folosind modulul de supă frumoasă de la Python pentru a vă citi știrile zilnice

De fiecare dată când rulați codul, titlurile noi de pe site-ul de știri vor fi descărcate înainte de a fi citite cu voce tare. Python execută codul de fiecare dată când rulați setul de coduri, ținându-vă astfel la curent cu modificările de pe site.

Titlurile mai vechi vor continua să fie afișate și citite de Python până când reîmprospătați și rulați din nou codul.

Utilizarea Python pentru a citi titlurile zilnice este ușoară

Python, ca limbaj cu sursă deschisă, oferă o serie de instrumente, cum ar fi Beautiful Soup, Selenium și alte cadre - atât pentru începători, cât și pentru utilizatorii avansați.

Dacă doriți să primiți știrile zilnice prin voce, Python vă facilitează. Învățarea acestui limbaj special vă poate ajuta, de asemenea, să deveniți un programator mai bun în toate domeniile.

10 instrumente utile pentru dezvoltatorii Python

Indiferent dacă aveți nevoie de instrumente Python pentru știința datelor, învățarea automată, dezvoltarea web sau orice altceva, această listă vă va acoperi.

Citiți în continuare

AcțiuneTweetE-mail
Subiecte asemănătoare
  • Programare
  • Piton
  • Știri
  • Sfaturi pentru computer
  • Programare
Despre autor
Gaurav Siyal (56 articole publicate)

Gaurav Siyal are doi ani de experiență în scris, scriind pentru o serie de firme de marketing digital și documente despre ciclul de viață al software-ului.

Mai multe de la Gaurav Siyal

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona