Today, I want to talk about a little project I did called “Read Angel.” It all started because I wanted an easier way to read articles I found online. You know how it is, you stumble upon something interesting, but you’re in the middle of something else. So, I got this idea to make a simple tool to save those articles for later and then have them read aloud to me. Nothing fancy, just something practical.
Getting Started
First, I needed to figure out how to grab those articles from the web. I did a bit of digging and decided to use Python. It’s a language I’m pretty comfortable with, and it has some handy libraries for this kind of stuff. I found this library called “requests” that makes fetching web pages a breeze. So I installed it and wrote a few lines of code to pull down the HTML content of a given URL.
Here’s a snippet of what that looked like:

import requests
def get_webpage_content(url):
response = *(url)
if *_code == 200:
return *
else:
return None
Cleaning Up the Mess
Now, web pages are usually full of junk we don’t need – ads, navigation menus, all sorts of clutter. I just wanted the main article text. This is where another cool Python library called “Beautiful Soup” came in. It helped me parse the HTML and extract the parts I cared about. It took a bit of trial and error, inspecting the HTML structure of different websites, but eventually, I got pretty good at isolating the article content. This is called web scraping, it’s a great way to get information.
From Text to Speech
Okay, so now I had the article text, but I wanted it read aloud. I explored a few options for text-to-speech (TTS) and settled on using the “pyttsx3” library. It’s straightforward to use and doesn’t rely on any external services, which I liked. I installed it, imported it into my script, and with a few more lines of code, I had my computer reading the articles to me.
Here’s how I initialized the TTS engine:

import pyttsx3
engine = *()
Putting it All Together
I combined all these pieces into a single Python script. Now, I could just feed it a URL, and it would fetch the page, extract the article, and read it to me. It was pretty satisfying to see it all come together. I could even tweak the reading speed and voice a little bit using the settings in pyttsx3.
Making it More User-Friendly
The script worked great, but I wanted to make it a bit more user-friendly. Instead of hardcoding URLs, I made it so the script would prompt me to enter a URL. This is a simple modification using python’s built in functions.
- I also added some basic error handling, just in case a URL was invalid or something went wrong during the process. It’s always good to be prepare for problems.
- The first time it was successful, I was happy! I felt like I did a good job!
Final Touches
Finally, I decided to give it the name “Read Angel.” Seemed fitting, since it was kind of like my little reading assistant. I shared the code with a few friends, and they found it useful too. It’s not the most sophisticated project, but it solved a problem I had, and I learned a lot along the way.
That’s the story of my “Read Angel” project. It’s a simple tool, but it makes my life a little easier. And hey, that’s what it’s all about, right?