Ստիպեք Python-ին կարդալ ձեր ամենօրյա նորությունների վերնագրերը այս պարզ գրադարաններով
Ավելի հեշտ չի՞ լինի, եթե ձեր համակարգիչը ձեզ կարդա նորությունների վերջին վերնագրերը, առանց շատ բան անելու: Լավ նորություն. դուք կարող եք հասնել հենց դրան:
Պատկերացրեք վաղ առավոտը, երբ դուք խմում եք մի բաժակ տաք թարմ սուրճ, և ձեր համակարգիչը կարդում է ձեզ ամենավերջին վերնագրերը՝ ամեն ինչ ինքնուրույն: Զարմանալի չի՞ հնչում:
Դե, Python-ի միջոցով դուք կարող եք ստեղծել ձեր սեփական, անհատականացված նորությունների ընթերցիչը, որը ձեզ համար կկարդա բոլոր գլխավոր վերնագրերը՝ յուրաքանչյուր վերնագրի հատվածների հետ միասին: Այո դա ճիշտ է. Օգտագործելով ճիշտ գրադարանները՝ դուք կարող եք ստիպել Python-ին կատարել ձեր առավոտվա բոլոր առօրյաները՝ առանց յուրաքանչյուր բառը ինքնուրույն կարդալու:
Ահա թե ինչպես կարող եք գրել այս կոդը և այն ուղղել ձեր սիրած լրատվական կայքին:
Կոդը գործարկելու նախադրյալներ
Նախքան ներս մտնելը և կոդը գրելը, դուք պետք է կատարեք մի քանի նախադրյալներ: Սրանք մի քանի հիմնական պահանջներ են, որոնք կարող են հեշտացնել և արդյունավետ դարձնել Python-ի օգտագործումը:
- Python. Տեղադրված Python-ի վերջին տարբերակը լավ որոշում կլինի: Լավագույն արդյունքների համար կարող եք տեղադրել ցանկացած Python IDE:
- Լրատվական կայք/համացանց մուտք. Քանի որ 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-ը դա հեշտացնում է: Այս կոնկրետ լեզուն սովորելը կարող է նաև օգնել ձեզ դառնալ ավելի լավ ծրագրավորող բոլոր ոլորտներում: