Представете си ранна сутрин, в която отпивате от чаша горещо прясно кафе и компютърът ви чете най-новите заглавия – всичко сам. Това не звучи ли невероятно?
Е, с Python можете да създадете свой собствен, персонализиран четец на новини, който ще ви чете всички водещи заглавия, заедно с откъсите от всяко заглавие. Да, така е. Като използвате правилните библиотеки, можете да накарате Python да изпълнява всичките ви сутрешни процедури, без да се налага да четете всяка дума самостоятелно.
Ето как можете да напишете този код и да го настроите към любимия си уебсайт за новини.
Предварителни условия за изпълнение на кода
Преди да скочите и да започнете да пишете кода, трябва да изпълните няколко предварителни условия. Това са някои много основни изисквания, които могат да направят използването на Python по-лесно и по-ефективно.
- Python: Инсталирането на най-новата версия на Python би било добро решение. Можете да инсталирате всяка IDE на Python за най-добри резултати.
- Новинарски уебсайт/достъп до интернет: Тъй като кодът на Python чете горните заглавия от любимия ви уебсайт, трябва да сте сигурни, че имате достъп до уебсайта, докато изпълнявате този код.
Целият код е написан в Jupyter Notebook, популярен Python IDE за това ръководство. Освен това новинарският уебсайт на India Today е кодиран в примерния код.
За да изтеглите Jupyter Notebook, можете или да го използвате като част от пакета anaconda, или да изтеглите самостоятелна версия на вашата система.
Изтегли:анаконда | Тетрадка Jupyter
Без повече приказки, нека се задълбочим в кода.
Писане на кода на Python
За да започнете, трябва да импортирате няколко Python библиотеки, всяка от които служи за различни цели.
импортирайте win32com.client като wincl
от urllib.request импортиране urlopen като ureq
от bs4 импортирайте BeautifulSoup като супа
sp = wincl. Изпращане("SAPI.spVoice")
Където:
- win32com.client: Тази библиотека взаимодейства с устройства с Windows и изпълнява програмите на Python безпроблемно.
- urllib.request: Тази библиотека обработва URL стойности от модула за заявка.
- bs4: Библиотеката BS4 съдържа функцията Beautiful Soup, която изстъргва данни от уебсайтове, използващи Python.
- sp = wincl. Изпращане("SAPI.spVoice"): Активирайте гласовите команди в Windows.
Този код ще работи само на Windows, тъй като ще извикате библиотеката win32.com.client.
След това трябва да дефинирате URL (връзката) на уебсайта в рамките на url променлива, която се съхранява в паметта на Python.
url = https://www.indiatoday.in/top-stories
Създайте нов клиент с променлива, за да съхранявате командата за отваряне на URL адрес.
клиент = ureq (url)
печат (клиент)
където:
- клиент: Нова променлива.
- ureq: Функция на Python, импортирана от urllib.request, която отваря съхранения url.
Тъй като сте отворили URL адреса в паметта, е време да проверите дали въпросният уебсайт позволява незащитени връзки чрез Python. Можете да отпечатате клиентската променлива и да проверите изхода.
Има две възможности с командата за печат:
- HTTP грешка: Когато уебсайтът е защитен, не можете да изстържете съдържанието с помощта на Python.
- Кодов фрагмент: Ако след стартиране на уебсайта се върне кодов фрагмент, приемете, че можете лесно да изтеглите заглавията.
След като дефинирате URL адреса на новинарския уебсайт в URL командата, е време да импортирате HTML кода в променлива.
page_html = client.read()
печат (page_html)
Трябва да отпечатате HTML кода на уебсайта, импортиран в Python, като предпазна стъпка. Можете дори да съпоставите този код с кода на уебсайта, наличен под Инспектирайте опция.
Преди да конвертирате кода, трябва да затворите уебсайта от паметта на Python, като използвате командата close.
client.close()
Тъй като имате HTML кода, импортиран в променлива на Python, трябва да го конвертирате в четим от Python формат, за да приложите намирам и findall команди за търсене на ключови думи.
Можете да подадете следната команда, за да конвертирате HTML кода:
page_soup = супа (page_html, "html.parser")
Където:
- страница_супа: Нова променлива.
- супа: Псевдоним за Красив модул за супа.
- page_html: Променлива, която съдържа HTML кода от уебсайта.
- html_parser: Синтаксис по подразбиране за конвертиране на HTML кода.
След като кодът е готов за употреба, е време да разгледате HTML кода на уебсайта, за да започнете да търсите ключови думи за заглавие.
За да направите това, щракнете с десния бутон навсякъде в уебсайта и щракнете върху Проверка. Това ще отвори HTML кода за въпросния уебсайт.
В кодовия прозорец на уебсайта превъртете наоколо, докато намерите етикетите на контейнера, които съхраняват заглавията.
Те се съдържат в изглед-съдържание тагове на уебсайта India Today. Контейнерите на всеки новинарски уебсайт се различават, но трябва да можете да навигирате през кода с относителна лекота.
articles = page_soup.find("div", { "class": "view-content" })
И накрая, трябва да уловите подтеговете, които съдържат основните заглавия, които Python ще ви чете.
articles = articles.findAll("div", {"class": "catagory-listing"})
Контейнерът със съдържание за преглед ще съдържа множество заглавия, външната обвивка за вашите заглавия.
За да заснемете H2 таговете и фрагментите, изброени с всяко заглавие, трябва да изпълните цикъл.
i = 1
за x в статии:
title = x.find("h2").text
para = x.find("p").text
печат (i, заглавие, "
", "
", параграф, "
", "
")
sp. Говорете (заглавие)
sp. Говорете (параграф)
i=i+1
Където:
- аз: Нова променлива на брояча, която ще бъде автоматично увеличена.
- заглавие: Нова променлива за запазване на заглавието (h2).
- параграф: Нова променлива за съхраняване на абзаците, свързани с всеки H2.
- печат: Заглавието на заглавието и параграфът ще бъдат отпечатани в интерфейса на Python.
- sp. Говорете (заглавие): Python ще прочете всяко съхранено заглавие.
- sp. Говорете (параграф): Python ще прочете всеки съхранен фрагмент от параграф.
- i = i+1: Тази команда автоматично увеличава серийния номер, свързан с всяко заглавие, показано в интерфейса на Python.
Използване на модула за красива супа на Python, за да четете ежедневните си новини
Всеки път, когато стартирате кода, ще се изтеглят нови заглавия от новинарския уебсайт, преди да бъдат прочетени на глас. Python изпълнява кода всеки път, когато стартирате набора от кодове, като по този начин ви държи в течение с промените на уебсайта.
По-старите заглавия ще продължат да се показват и четат от Python, докато не обновите и изпълните отново кода.
Използването на Python за четене на ежедневните ви заглавия е лесно
Python, като език с отворен код, предлага серия от инструменти като Beautiful Soup, Selenium и други рамки – както за начинаещи, така и за напреднали потребители.
Ако искате да получавате ежедневните си новини чрез глас, Python го прави лесно. Изучаването на този конкретен език също може да ви помогне да станете по-добър програмист във всички области.
Независимо дали имате нужда от инструменти на Python за наука за данни, машинно обучение, уеб разработка или нещо между тях, този списък ви покрива.
Прочетете Следващото
- Програмиране
- Python
- Новини
- Компютърни съвети
- Програмиране
Gaurav Siyal има две години опит в писането, като пише за серия от фирми за дигитален маркетинг и документи за жизнения цикъл на софтуера.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате