Twitter network logger


Something I like to do when there's extra activity around a specific topic, is to record the network of people interacting around that topic on Twitter. Specifically, I collect all tweets that contain a set of keywords that identify the topic, then I maintain a list of users that have posted or retweeted those tweets and check out which other users on that list they liked tweets from. This yields a three-layer network temporal network. One layer describe the network of likes, another the network of retweets and finally the network of mentions (this also includes comments).

My first attempt at doing that was during the 2018 NetSci conference where I got a little bored and figured I needed to know who was top dawg in the network science community (spoiler: it's not me). I hacked up a continuous Twitter data collection script that pushed the data to a Github Gist, and set it to run every 15 minutes on a remote server. Then I built a online data visualization in JavaScript that on every page load would read the latest version of the dataset.

That is here.

Then pretty recently in Copenhagen, this insane Danish fascist YouTuber burned a Quran in a Muslim-dense neighborhood and announced his candidacy for the Danish parlament, and in perfect Trump style all the cameras stopped pointing at serious people and started focussing all their attention of that guy (well done social media!). So since I'm no better, I figured I would revisit my old Twitter network logger and point it at this guy. So here's the network of likes.

Basically, there's two clusters in this network, one small one that is very tight knit of co-fascist sympathizers liking each others tweets, and another larger more diffused one of (I suppose) people talking about what a crazy horrible person he is. And making this plot was super easy, I just copied the raw URL from the Github Gist that the logger pushed to and inserted it into my online version of Netwulf. Then I styled it a bit until I thought it looked cool.

Also, since I wanted to be able to reboot this little wiretapping scheme anytime, I did a bit of work making it easy to launch. Now, you clone a Github repository, create a gist to host the data and then run a Python script with some arguments that depend on what you want to log. It's all described on the Github repository.