September 28th, 2017 by Felix Schneider

A post archive for public Facebook and twitter accounts. Conserves deleted posts.


The software created here can be used to archive public posts of facebook pages and twitter accounts. Facebook pages are polled for new posts periodically while twitter accounts are monitored in real-time. API keys are required to gain access to either of those social networks. Only texts and links to shared media are saved, therefore there is usually no option to view deleted photos or videos.

Internally this functionality was realized in a multi-process design. All parts are written in Python 2 since it offers a wide range of libraries making access to various APIs much easier. Data is written to a SQLite3 Database which is then accessed by the web frontend. Changing the database connection should be rather simple as all relevant functions are collected in one file.

The code works but is far from perfect. Many exceptions are unhandeled, resulting in random program terminations. A monitor is therefore used to automatically restart affected programs.

Although probably not part of the core functionality, quite a lot of attention went to the user interface. I had no interest in downloading profile pictures of added Facebook pages or Twitter accounts. On the other hand, I figured that at least some graphics are needed to make the page look at least modestly appealing. That is the reason every tracked account is accompanied by one randomly chosen bird.


As cited from the website,

Political life nowadays happens a lot in social media. Expressing oneself has never been easier, just as controlling how other people see oneself. This leads to a dangerous game of distractions, especially in politics. Voters need to know whom they are really giving their vote.

So to increase transparency, a first step could be a public archive of public posts by persons of public interest - including those deleted afterwards. This has already been realized for tweets from a couple of U.S. politicians by Brendan Brown and can be accessed here. However, the Trump Twitter Archive doesn't mark deleted tweets.

The idea was born and summer came so it was easier for me to make time. Also Austria will have elections in autumn, forcing local politicians to be more active on social media channels. It turned out to be a both interesting and instructional summer project.

Any conclusions?

As of today deletions are not exceeding any limits. However, the tool has counted many more deletions on Facebook than on Twitter. One possible explanation is that Austrian politicians are more focused on their Facebook accounts. A mere post count shows a different picture. Many twitter accounts published far more posts than their counterparts on Facebook, often only retweeting posts from other users.

Certainly one can now rank major Austrian politicians by their post activity on Facebook. Analysing todays dataset shows following deletion percentages (ranked in from lowest to highest):

  1. 1,58% Kern
  2. 2,00% Felipe
  3. 2,41% Kurz
  4. 2,53% Strolz
  5. 2,74% Strache
  6. 5,06% Pilz

Strache outnumbers his opponents in terms of post count while deleting not much more than Kurz and Strolz. Kern and Kurz are also quite active at their accounts. Felipe and Pilz both keep their post counts much lower.

Having a look at posting hours of Austrian politicians it may seem very similar at first. Yet their details differ.

Strolz Posting hours of Strolz Kurz Posting hours of Kurz

One can clearly see that Strolz starts his Facebook day earlier than Kurz, already posting quite a lot between 7 and 10 a.m.. Kurz on the other hand seems to mostly get into posting between 10 and 12 a.m.. Apparently Strolz sets aside Facebook in the evening while Kurz seems to be very active between 6 and 9 p.m. again.

Kern Posting hours of Kern Strache Posting hours of Strache

While Kern clearly loves the time around 3 p.m. and 8 p.m., Strache seems to post all day long. Both don't even get close to Kurz's Facebook usage in the evening. They start earlier than him too.

Felipe Posting hours of Felipe Pilz Posting hours of Pilz

Both Felipe and Pilz don't post a lot. And when they do, it is probably between 2 and 3 p.m. or 10 a.m. to 1 p.m., accordingly.

Facebook nowadays enables you to schedule posts. We can more or less safely assume that hardly anyone will publish a post right at the beginning of a minute. Looking at the seconds of the timestamps of published posts we can therefore gain some insight to what extent this feature is used on certain Facebook pages. The results are quite surprising:

  1. Strolz seems to be scheduling almost half of his posts (46,84%). However, the minutes of the timestamps in question often do not look special in any way. I might have some sort of systematic error in my analysis.
  2. Strache ranks second, apparently scheduling 22,60% of his posts.
  3. Kurz seems to use this feature in 15,57% of his statuses.
  4. Although fourth in this ranking, Kern almost levels with Kurz (13,09%).
  5. Pilz seems to have published one out of 79 posts like this. My best guess is that he actually doesn't use this feature and this post didn't go online at that time on purpose.
  6. Felipe managed to get not a single posts on the list. Most likely she doesn't use the post scheduler.

Further information