How I Made A Wikipedia Bot To Read Me Articles

I like to read on Wikipedia a lot and also i happen to be a very lazy person but sometimes i wanna find out about a certain topic or person, I know how fun it is to automate tasks so why don’t we make a Wikipedia bot that will read the article for us….Seriously though it will read with an actual human voice

The idea of automation is such an interesting topic and has endless ideas and i decided to explore it myself and found a problem i personally have and can solve easily with automation so let’s not waste any further time and get to coding

Libraries we’re gonna use in this tutorial

  • pyttsx3 : To help us do TTS -text to speech-

pip install pyttsx3

pip install Wikipedia-API

  • Click : to create an easy to use CLI of our script

pip install click

The bot will simply fetch the summery of an article then reads it out for us and in later article we will add a gui to the script for those non-programming people who just wanna enjoy the final product

Now create a new Python file and start coding

from wikipediaapi import Wikipediaimport pyttsx3wiki = Wikipedia("en")eng = pyttsx3.init()wiki_page = wiki.page("elon musk").summaryeng.say(wiki_page)eng.runAndWait() 

Now each program using the pyttsx3 starts with an engine object and ends with runAndWait() method to start executing

We also need a Wikipedia object to interact with the module and retrieve the data we want

page represents a Wikipedia page which has many attributes like title and summery which in this case we used so we pass it to our speech engine object

So now let’s make this program more dynamic by firstly using the input() function to get the user’s input, so adding this simple line

wiki_page = input("What do you wanna search for today? ") then we can just simply eng.say(wiki_page.summery)

Now another way to make this more dynamic is using click to make a CLI tool out of this

import clickfrom wikipediaapi import Wikipediaimport pyttsx3wiki = Wikipedia('en')eng = pyttsx3.init()@click.command()@click.option("--title",prompt="Enter an  article's title to search")def get_article(title):  wiki_page = wiki.page(title=title).summary  eng.say(wiki_page)  eng.runAndWait()if __name__ == "__main__":  get_article()

And there you have it, a very simple yet fun bot to enjoy listening to Wikipedia articles whenever you want

Further Improvements

  • Since we saw how easy it is to use pyttsx3, we can now scrape data online like songs lyrics and can now make it sing !!!! (kinda)
  • Generate audio books now from your favorite PDFs with the save_to_file() function
  • Make a gui for a Wikipedia browser where you can view an article’s sections and a quick summery

Just a glimpse of what you can do with those amazing tools and the list can really go on if you’re creative enough

Thanks for the time and interest in my article :)

--

--

--

i love to blog about things i find interesting and learn about

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to execute PHP cron job on the new Da-manager control panel(Cpanel)

My journey as open source contributor #1

Roman Numeral to Integer Python Code

Front-End Dev Tools For increased Productivity

Convert HTML to PDF Using Dompdf

Convert HTML to PDF Using Dompdf

Building a CI Pipeline for a Microservice in Quarkus with CircleCI

How to install Laravel Spark for Mac and Linux users ?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Total nerd

Total nerd

i love to blog about things i find interesting and learn about

More from Medium

Learning Computer Science With Jason and Derrick @ Everbridge

My story: How I met my Python career ?

Which language should you learn second?

Why I increased size of Call Stack, Python