For each data providing service (e.g., e-mail, twitter, weibo,...), implement a set of tables ("stream", "messages", "notifications"), and use cron.
Just like we have open source package like all-auth for social authentications, we could create an all-social-data for data retrieval from these services. Most of social networking services rely on 3 inventions: "stream", "messages", "notifications", etc. Implementing retrieval and storage of these things for each service could allow later to merge their data. Just add a new service, and you can integrate its data into your stream copies on hard drive.
This could be used as a core application, that would be useful for creating a universal client for all social networks, allowing the user to have one's all social data in an easily analyzable (e.g., PostgreSQL) database on one's desktop computer.
Anything like that already exists? Link it, if so. :)