Ստիպեք Python-ին կարդալ ձեր ամենօրյա նորությունների վերնագրերը այս պարզ գրադարաններով


Ավելի հեշտ չի՞ լինի, եթե ձեր համակարգիչը ձեզ կարդա նորությունների վերջին վերնագրերը, առանց շատ բան անելու: Լավ նորություն. դուք կարող եք հասնել հենց դրան:

Պատկերացրեք վաղ առավոտը, երբ դուք խմում եք մի բաժակ տաք թարմ սուրճ, և ձեր համակարգիչը կարդում է ձեզ ամենավերջին վերնագրերը՝ ամեն ինչ ինքնուրույն: Զարմանալի չի՞ հնչում:

Դե, Python-ի միջոցով դուք կարող եք ստեղծել ձեր սեփական, անհատականացված նորությունների ընթերցիչը, որը ձեզ համար կկարդա բոլոր գլխավոր վերնագրերը՝ յուրաքանչյուր վերնագրի հատվածների հետ միասին: Այո դա ճիշտ է. Օգտագործելով ճիշտ գրադարանները՝ դուք կարող եք ստիպել Python-ին կատարել ձեր առավոտվա բոլոր առօրյաները՝ առանց յուրաքանչյուր բառը ինքնուրույն կարդալու:

Ահա թե ինչպես կարող եք գրել այս կոդը և այն ուղղել ձեր սիրած լրատվական կայքին:

Կոդը գործարկելու նախադրյալներ

Նախքան ներս մտնելը և կոդը գրելը, դուք պետք է կատարեք մի քանի նախադրյալներ: Սրանք մի քանի հիմնական պահանջներ են, որոնք կարող են հեշտացնել և արդյունավետ դարձնել Python-ի օգտագործումը:

  1. Python. Տեղադրված Python-ի վերջին տարբերակը լավ որոշում կլինի: Լավագույն արդյունքների համար կարող եք տեղադրել ցանկացած Python IDE:
  2. Լրատվական կայք/համացանց մուտք. Քանի որ Python կոդը կարդում է ձեր սիրած կայքի լավագույն վերնագրերը, դուք պետք է համոզվեք, որ կարող եք մուտք գործել կայք այս կոդը գործարկելիս:

Ամբողջ կոդը գրված է Jupyter Notebook-ում՝ այս ուղեցույցի համար հայտնի Python IDE-ում: Բացի այդ, India Today-ի լրատվական կայքը կոդավորված է նմուշի կոդում:

Jupyter Notebook-ը ներբեռնելու համար կարող եք կամ օգտագործել այն որպես անակոնդա փաթեթի մաս, կամ ներբեռնել ձեր համակարգում ինքնուրույն տարբերակը:

Ներբեռնում՝ Anaconda | Jupyter Notebook

Առանց հետագա անհանգստության, եկեք ավելի խորանանք կոդի մեջ:

Կոդը Python-ում գրելը

Սկսելու համար հարկավոր է ներմուծել Python-ի մի քանի գրադարաններ, որոնցից յուրաքանչյուրը ծառայում է տարբեր նպատակների:

import win32com.client as wincl
from urllib.request import urlopen as ureq
from bs4 import BeautifulSoup as soup
sp = wincl.Dispatch("SAPI.spVoice")

Որտեղ՝

  • win32com.client. Այս գրադարանը փոխազդում է Windows սարքերի հետ և անխափան գործարկում է Python ծրագրերը:
  • urllib.request. Այս գրադարանը մշակում է URL արժեքները հարցումների մոդուլից:
  • bs4. BS4 գրադարանը պարունակում է Beautiful Soup ֆունկցիան, որը մաքրում է տվյալները Python-ի միջոցով վեբկայքերից:
  • sp=wincl.Dispatch("SAPI.spVoice"): Ակտիվացրեք ձայնային հրամանները Windows-ում:

Այս կոդը կաշխատի միայն Windows-ի վրա, քանի որ դուք զանգահարելու եք win32.com.client գրադարան:

Հաջորդը, դուք պետք է սահմանեք կայքի URL-ը (հղումը) url փոփոխականի մեջ, որը պահվում է Python-ի հիշողության մեջ:

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

Ստեղծեք նոր փոփոխական հաճախորդ՝ URL բացման հրամանը պահելու համար:

client = ureq(url)
print(client)

որտեղ՝

  • հաճախորդ. Նոր փոփոխական:
  • ureq. Python ֆունկցիան ներմուծված է urllib.request-ից, որը բացում է պահված url-ը:

Քանի որ դուք բացել եք URL-ը հիշողության մեջ, ժամանակն է ստուգել՝ արդյոք տվյալ կայքը թույլ է տալիս անապահով կապեր Python-ի միջոցով: Դուք կարող եք տպել հաճախորդի փոփոխականը և ստուգել արդյունքը:

Տպել հրամանի հետ կա երկու հնարավորություն.

  • HTTPE-սխալ․ Երբ կայքն ապահով է, դուք չեք կարող քերել բովանդակությունը Python-ի միջոցով։

  • Կոդի հատված․

Երբ դուք սահմանեք լրատվական կայքի URL-ը URL հրամանի շրջանակներում, ժամանակն է ներմուծել HTML կոդը փոփոխականի մեջ:

page_html = client.read()
print(page_html)

Դուք պետք է տպեք Python-ում ներմուծված կայքի HTML կոդը՝ որպես նախազգուշական քայլ: Դուք նույնիսկ կարող եք համապատասխանեցնել այս կոդը Ստուգել տարբերակի տակ հասանելի վեբկայքի կոդի հետ:

Նախքան ծածկագիրը փոխարկելը, դուք պետք է փակեք կայքը Python-ի հիշողությունից՝ օգտագործելով փակել հրամանը:

client.close()

Քանի որ դուք ունեք HTML կոդը ներմուծված Python փոփոխականի մեջ, դուք պետք է այն փոխարկեք Python ընթեռնելի ձևաչափի, որպեսզի կիրառեք find և findall հրամանները՝ հիմնաբառեր փնտրելու համար:

HTML կոդը փոխարկելու համար կարող եք փոխանցել հետևյալ հրամանը.

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

Որտեղ՝

  • page_soup. Նոր փոփոխական:
  • ապուր. Գեղեցիկ ապուր մոդուլի կեղծանունը:
  • page_html. Փոփոխական, որը պարունակում է կայքի HTML կոդը:
  • html_parser. Նախնական շարահյուսություն՝ HTML կոդը փոխարկելու համար:

Երբ կոդը պատրաստ է օգտագործման համար, ժամանակն է ուսումնասիրել կայքի HTML կոդը՝ սկսելու վերնագրերի հիմնաբառեր փնտրել:

Դա անելու համար աջ սեղմեք կայքի ցանկացած կետում և սեղմեք Ստուգել: Սա կբացի տվյալ կայքի HTML կոդը:

Կայքի կոդի պատուհանում ոլորեք շուրջը, մինչև գտնեք կոնտեյների պիտակները, որոնք պահում են վերնագրերը:

Դրանք պարունակվում են «India Today» կայքի view-content թեգերում: Յուրաքանչյուր լրատվական կայքի բեռնարկղերը տարբեր են, բայց դուք պետք է կարողանաք նավարկելու ծածկագիրը համեմատաբար հեշտությամբ:

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

Ի վերջո, դուք պետք է ֆիքսեք ենթապիտակները, որոնք պարունակում են հիմնական վերնագրերը, որոնք Python-ը կկարդա ձեզ համար:

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

Դիտման բովանդակության կոնտեյները կպարունակի բազմաթիվ վերնագրեր, ձեր վերնագրերի արտաքին շերտը:

H2 պիտակները և յուրաքանչյուր վերնագրի հետ թվարկված հատվածները գրավելու համար դուք պետք է գործարկեք հանգույց:

i = 1
for x in articles:
   title = x.find("h2").text
   para = x.find("p").text
   print(i , title , "\n" , "\n" , para , "\n" , "\n")
   sp.Speak(title)
   sp.Speak(para)
   i=i+1

Որտեղ:

  • i. Նոր հաշվիչ փոփոխական, որն ավտոմատ կերպով կավելացվի:
  • վերնագիր. Նոր փոփոխական՝ վերնագիրը պահպանելու համար (h2):
  • para. Նոր փոփոխական՝ յուրաքանչյուր H2-ի հետ կապված պարբերությունները պահելու համար:
  • տպել. Վերնագրի վերնագիրը և պարբերությունը կտպվեն Python ինտերֆեյսի վրա:
  • sp.Speak(Title). Python-ը կկարդա յուրաքանչյուր պահված վերնագիր:
  • sp.Speak(para): Python-ը կկարդա յուրաքանչյուր պահված պարբերության հատված:
  • i=i+1. Այս հրամանը ավտոմատ կերպով ավելացնում է Python-ի միջերեսում ցուցադրվող յուրաքանչյուր վերնագրի հետ կապված սերիական համարը:

Օգտագործելով Python's Beautiful Soup Module-ը ձեր ամենօրյա նորությունները կարդալու համար

Ամեն անգամ, երբ դուք գործարկում եք կոդը, նոր վերնագրերը կներբեռնվեն լրատվական կայքից՝ նախքան բարձրաձայն կարդալը: Python-ը գործարկում է կոդը ամեն անգամ, երբ գործարկում եք կոդերի հավաքածուն՝ դրանով իսկ ձեզ թարմացնելով կայքի փոփոխությունները:

Ավելի հին վերնագրերը կշարունակեն ցուցադրվել և կարդալ Python-ի կողմից, մինչև դուք թարմացնեք և նորից գործարկեք կոդը:

Python-ի օգտագործումը ձեր ամենօրյա վերնագրերը կարդալու համար հեշտ է

Python-ը, որպես բաց կոդով լեզու, առաջարկում է մի շարք գործիքներ, ինչպիսիք են Beautiful Soup, Selenium և այլ շրջանակներ՝ ինչպես սկսնակ, այնպես էլ առաջադեմ օգտատերերին:

Եթե ցանկանում եք ստանալ ձեր ամենօրյա լուրերը ձայնով, Python-ը դա հեշտացնում է: Այս կոնկրետ լեզուն սովորելը կարող է նաև օգնել ձեզ դառնալ ավելի լավ ծրագրավորող բոլոր ոլորտներում: