Difference between revisions of "Yahoo! Groups"
Line 14: | Line 14: | ||
== Python Yahoo! Group Archiver == | == Python Yahoo! Group Archiver == | ||
The [ | The [https://github.com/csaftoiu/yahoo-groups-backup yahoo-groups-backup] is a Python script which allows a scraping of the group. So far only messages are scraped. It puts all the info and metadata (both rendered message body and raw email) into a Mongo database, and provides a script to dump a static version of the site that can be read off of the filesystem. It works with Neo and with private groups by clunkily using Selenium to do the scraping. | ||
== Yahoo Group Archiver == | == Yahoo Group Archiver == |
Revision as of 23:20, 12 June 2016
Yahoo! Groups | |
URL | http://groups.yahoo.com/ |
Status | Online! |
Archiving status | In progress... |
Archiving type | Unknown |
IRC channel | #archiveteam-bs (on hackint) |
Yahoo! Groups is Yahoo's email service; it's the result of the acquisition of eGroups and some other Yahoo! stuff.
It's been stable for a long time (since the late 90s), long enough for some specialised software to be developed to do backups of it. (Not many other websites can say that.)
Python Yahoo! Group Archiver
The yahoo-groups-backup is a Python script which allows a scraping of the group. So far only messages are scraped. It puts all the info and metadata (both rendered message body and raw email) into a Mongo database, and provides a script to dump a static version of the site that can be read off of the filesystem. It works with Neo and with private groups by clunkily using Selenium to do the scraping.
Yahoo Group Archiver
The Yahoo Group Archiver is a Perl script which allows an export of "the messages (without the attachments), everything from the files section and all the images from the photo section along with their hierarchy on Yahoo".
It appears that, if you get the "Couldn't get message count" error when trying to use it, the solution is to edit the yahoo2maildir.pl file and replace the bottom line my $url = $HTTP::URI_CLASS->new($redirect, $base)->abs($base);
(under the heading sub GetJSRedirect
) with my $url = "http://groups.yahoo.com/group/$group/messages/$begin_msgid";
More frustratingly, it appears that Yahoo blocks your IP temporarily after hitting some invisible limit of data downloaded (the Archiver will continue to "download" messages for a bit, ending up with a bunch of 0-byte files, then stop completely). It's unknown if there is a solution.
Also: sometimes, some of the downloaded messages, in the middle of an otherwise normal batch, are 0 in size - almost as if Yahoo blocked your IP for a few seconds, then stopped. Watch out for these so that you can re-download them later.
Site structure
There’s a convenient JSON API:
- Group information: https://groups.yahoo.com/api/v1/groups/concatenative/
- Message list: https://groups.yahoo.com/api/v1/groups/concatenative/messages?count=100&sortOrder=desc&direction=-1
- Raw message: https://groups.yahoo.com/api/v1/groups/concatenative/messages/1/raw – note that there seems to be a message encoding problem
- Search: https://groups.yahoo.com/api/v1/search/groups?offset=0&maxHits=20&sortBy=&query=abcdef – sort can be one of OLDEST, RELEVANCE, MEMBERS, LATEST_ACTIVITY, NEWEST
- Categories: https://groups.yahoo.com/api/v1/dir/categories/0/?start=0
Note that all paginated responses are limited to the first 500 results and do not return anything new beyond that.
Statistics
As of 2015-10-23 the directory lists 5458443 groups. 2752112 of them have been discovered. 1483853 (54%) have public message archives with an estimated number of 11.1 billion messages (~7500 messages per group on average so far). On 2015-12-31 116 million messages (1%) had been archived.
Software for backups
- Yahoo Group Archiver, Sourceforge