Įsivaizduokite ankstyvą rytą, kai gurkšnojate karštą puodelį šviežios kavos, o jūsų kompiuteris perskaito jums naujausias antraštes – viskas savaime. Ar tai neskamba nuostabiai?

Na, o naudodami Python galite sukurti savo asmeninį naujienų skaitymo įrenginį, kuris perskaitys visas svarbiausias antraštes kartu su kiekvienos antraštės ištraukomis. Taip, teisingai. Naudodami tinkamas bibliotekas galite priversti Python atlikti visas rytines procedūras, nereikės pačiam skaityti kiekvieno žodžio.

Štai kaip galite parašyti šį kodą ir pakeisti jį į savo mėgstamą naujienų svetainę.

Būtinos sąlygos norint paleisti kodą

Prieš pradėdami rašyti kodą, turite įvykdyti keletą būtinų sąlygų. Tai yra keletas labai pagrindinių reikalavimų, kurie gali palengvinti ir efektyvinti Python naudojimą.

  1. Python: Būtų geras sprendimas įdiegti naujausią Python versiją. Norėdami gauti geriausius rezultatus, galite įdiegti bet kurį Python IDE.
  2. Naujienų svetainė / prieiga prie interneto: Kadangi „Python“ kodas skaito svarbiausias jūsų mėgstamos svetainės antraštes, turite užtikrinti, kad galėtumėte pasiekti svetainę paleisdami šį kodą.
    instagram viewer

Visas kodas parašytas populiariame Jupyter Notebook Python IDE šiam vadovui. Be to, „India Today“ naujienų svetainė yra užkoduota pavyzdiniame kode.

Norėdami atsisiųsti Jupyter Notebook, galite naudoti jį kaip anaconda paketo dalį arba atsisiųsti atskirą versiją į savo sistemą.

Parsisiųsti:Anakonda | Jupyter užrašų knygelė

Nesivaržydami įsigilinkime į kodą.

Kodo rašymas Python

Norėdami pradėti, turite importuoti keletą Python bibliotekų, kurių kiekviena atlieka skirtingą paskirtį.

importuoti win32com.client kaip wincl
iš urllib.request importuoti urlopen kaip ureq
iš bs4 importo BeautifulSoup kaip sriuba
sp = wincl. Išsiuntimas („SAPI.spVoice“)

Kur:

  • win32com.client: Ši biblioteka sąveikauja su Windows įrenginiais ir sklandžiai paleidžia Python programas.
  • urllib.request: Ši biblioteka tvarko URL reikšmes iš užklausos modulio.
  • bs4: BS4 bibliotekoje yra „Beautiful Soup“ funkcija, kuri nuskaito duomenis iš svetainių naudojant Python.
  • sp = wincl. Siuntimas („SAPI.spVoice“): Suaktyvinkite balso komandas sistemoje Windows.

Šis kodas veiks tik sistemoje Windows, nes skambinsite į win32.com.client biblioteką.

Tada turite apibrėžti svetainės URL (nuorodą). url kintamasis, kuris saugomas Python atmintyje.

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

Sukurkite naują kintamąjį klientą, kad išsaugotumėte URL atidarymo komandą.

klientas = ureq (url)
spausdinti (klientas)

kur:

  • klientas: Naujas kintamasis.
  • ureq: Python funkcija, importuota iš urllib.request, kuri atidaro saugomą URL.

Kadangi atidarėte URL atmintyje, laikas patikrinti, ar atitinkama svetainė leidžia nesaugius ryšius per Python. Galite atspausdinti kliento kintamąjį ir patikrinti išvestį.

Su spausdinimo komanda yra dvi galimybės:

  • HTTP klaida: Kai svetainė yra saugi, negalite nuskaityti turinio naudodami Python.
  • Kodo fragmentas: Jei paleidus svetainę grąžinamas kodo fragmentas, manykite, kad galite lengvai ištraukti antraštes.

Kai URL komandoje apibrėžėte naujienų svetainės URL, laikas importuoti HTML kodą į kintamąjį.

page_html = klientas.skaityti()
spausdinti (page_html)

Kaip atsargumo priemonę turite atsispausdinti svetainės HTML kodą, importuotą į Python. Jūs netgi galite suderinti šį kodą su svetainės kodu, pateiktu žemiau Apžiūrėti variantas.

Prieš konvertuodami kodą, turite uždaryti svetainę iš Python atminties naudodami komandą uždaryti.

client.close()

Kadangi HTML kodas yra importuotas į Python kintamąjį, turite jį konvertuoti į Python skaitomą formatą, kad pritaikytumėte rasti ir rasti viską komandos ieškoti raktinių žodžių.

Norėdami konvertuoti HTML kodą, galite perduoti šią komandą:

page_soup = sriuba (page_html, "html.parser")

Kur:

  • page_soup: Naujas kintamasis.
  • sriuba: Pseudonimas Gražios sriubos modulis.
  • page_html: Kintamasis, kuriame yra HTML kodas iš svetainės.
  • html_parser: Numatytoji sintaksė HTML kodui konvertuoti.

Kai kodas bus paruoštas naudoti, laikas ištirti svetainės HTML kodą ir pradėti ieškoti antraštės raktinių žodžių.

Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite bet kurią svetainės vietą ir spustelėkite Apžiūrėti. Bus atidarytas atitinkamos svetainės HTML kodas.

Svetainės kodo lange slinkite, kol rasite konteinerio žymas, kuriose saugomos antraštės.

Jie yra įtraukti į peržiūra-turinys žymos „India Today“ svetainėje. Kiekvienos naujienų svetainės talpyklos skiriasi, tačiau turėtumėte galėti gana lengvai naršyti po kodą.

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

Galiausiai turite užfiksuoti antrines žymas, kuriose yra pagrindinės antraštės, kurias jums skaitys Python.

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

Rodinio turinio sudėtiniame rodinyje bus kelios antraštės, išorinis jūsų antraščių apvalkalas.

Norėdami užfiksuoti H2 žymas ir fragmentus, pateiktus su kiekviena antrašte, turite paleisti kilpą.

i = 1
x straipsniuose:
pavadinimas = x.find("h2").tekstas
para = x.rasti("p").tekstas
spausdinti (i, pavadinimas, "
", "
", para, "
", "
")
sp. Kalbėti (pavadinimas)
sp. Kalbėti (para)
i=i+1

Kur:

  • aš: Naujas skaitiklio kintamasis, kuris bus automatiškai didinamas.
  • pavadinimas: Naujas kintamasis antraštei išsaugoti (h2).
  • para: Naujas kintamasis su kiekviena H2 susijusioms pastraipoms laikyti.
  • spausdinti: Antraštės ir pastraipos pavadinimas bus atspausdintas Python sąsajoje.
  • sp. Kalbėkite (Pavadinimas): Python perskaitys kiekvieną saugomą pavadinimą.
  • sp. Kalbėti (para): Python perskaitys kiekvieną saugomą pastraipos fragmentą.
  • i = i+1: Ši komanda automatiškai padidina serijos numerį, susietą su kiekviena antrašte, rodoma Python sąsajoje.

„Python“ gražios sriubos modulio naudojimas kasdienėms naujienoms skaityti

Kiekvieną kartą paleidus kodą, naujienų svetainės naujienų antraštės bus atsisiųstos prieš perskaitant jas garsiai. „Python“ vykdo kodą kiekvieną kartą, kai paleidžiate kodų rinkinį, ir taip nuolat jus informuoja apie svetainės pakeitimus.

Senesnės antraštės ir toliau bus rodomos ir perskaitytos Python, kol atnaujinsite ir paleisite kodą iš naujo.

Naudoti Python kasdienėms antraštėms skaityti paprasta

„Python“, kaip atvirojo kodo kalba, siūlo daugybę įrankių, tokių kaip „Beautiful Soup“, „Selenium“ ir kitos sistemos – tiek pradedantiesiems, tiek pažengusiems vartotojams.

Jei norite gauti savo kasdienes naujienas balsu, Python tai palengvina. Šios konkrečios kalbos mokymasis taip pat gali padėti tapti geresniu programuotoju visose srityse.

10 naudingų įrankių Python kūrėjams

Nesvarbu, ar jums reikia „Python“ įrankių, skirtų duomenų mokslui, mašininiam mokymuisi, žiniatinklio kūrimui ar kitiems dalykams, šiame sąraše jūs rasite.

Skaitykite toliau

DalintisTviteryjeEl. paštas
Susijusios temos
  • Programavimas
  • Python
  • žinios
  • Patarimai kompiuteriui
  • Programavimas
Apie autorių
Gaurav Siyal (56 straipsniai paskelbti)

Gaurav Siyal turi dvejų metų rašymo patirtį, rašo skaitmeninės rinkodaros įmonėms ir programinės įrangos gyvavimo ciklo dokumentus.

Daugiau iš Gaurav Siyal

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Spauskite čia norėdami užsiprenumeruoti