Okay, so today I’m gonna spill the beans on how I’ve been tracking those AS Roma transfer rumors. It’s a wild ride, let me tell you.

First thing I did, I started by scraping a bunch of sports news sites. I’m talking ESPN, Sky Sports, Gazzetta dello Sport – the usual suspects. I used Python with Beautiful Soup, nothing too fancy. Just looped through the sites, grabbed the articles, and filtered them for keywords like “Roma,” “transfer,” and names of players linked to the club.
Next up, I had to clean up all that text. Imagine the mess – ads, random HTML tags, you name it. So, I wrote some regex to strip all that garbage out. Got it down to just the headlines and the main article content.
Then comes the fun part: identifying the rumors. I created a list of potential players linked to Roma and matched the articles’ content against that list. If a player’s name popped up in an article alongside those keywords (“Roma,” “transfer”), I flagged it as a possible rumor.
Now, I didn’t want to just dump everything into a text file. I needed to organize it. So, I set up a simple SQLite database. Each rumor got its own entry, with fields for the source, the player, a summary of the rumor, and a link to the original article.
To make it easier to see what’s going on, I visualized the data. I used Tableau to build a dashboard showing the number of rumors per player, per source, and over time. It gave me a good overview of who’s being linked to Roma the most and where the rumors are coming from.
Here’s where it gets a little more advanced. I wanted to track the sentiment around these rumors. Are fans excited? Skeptical? So, I used a pre-trained sentiment analysis model (from Hugging Face, super easy to use) to analyze the comments on social media posts related to each rumor. It gave me a score for how positive or negative the fans felt.
Of course, all this stuff is constantly changing. New rumors pop up every day. So, I automated the whole process. I set up a scheduled task (using cron on my Raspberry Pi) to run the script every few hours. It scrapes the sites, cleans the data, identifies the rumors, updates the database, and refreshes the Tableau dashboard.
Finally, I’ve been cross-referencing all this with what the actual Roma news outlets are saying. Sometimes, the big rumor-mongers get it completely wrong, or they’re just re-hashing the same old news. So, this helped me filter out the noise and focus on the more credible stuff.

It’s a constant work in progress, but it’s been a cool way to learn more about data analysis and get my Roma transfer fix!