/OkCupid-Message-Downloader

A simple Python script for downloading your sent and received OkCupid messages.

Primary LanguagePythonMIT LicenseMIT

OKCMD is a tool for downloading your sent and received OkCupid messages to a text file.

Installation

OKCMD requires python2.7.

Install OKCMD from PyPI with pip (alternatively easy_install). This will add okcmd to your PATH by default.

pip install okcmd

Usage

okcmd -u your_username -p your_password -f 'message_output_file.txt'

Auto login links instead of a password

--autologin can be used instead of --password. Supply it with a link that will automatically log you in to OkCupid; you can find these links in emails sent to you from Okcupid. One example is the logotype in top/new matches emails – right click and choose “copy link”, then use it with the --autologin argument. Usage requires that auto login from emails is enabled; check your privacy settings on the OKCupid web site.

You can add the -m or -t flag to get the output as a possibly-MBOX-compatible file rather than the default plaintext format, but the feature hasn’t been thoroughly tested. Put the file in a Local folder, and hopefully Thunderbird (or pine/alpine/realpine) can read/process it from there. Please report back if it works or if there are any issues!

Directory output

By specifying --directory instead of --filename, the chats will be sorted into files named username.txt according to your conversation partner.

Debugging

--debug only downloads the first page of messages, but shows a lot more output including HTML for the entire page and each message. You probably want to pipe the output to a separate file: okcmd --debug --username ... &> debug.txt

The okcmd shell script (advanced)

As an alternative to using the PyPI package, there is an okcmd shell script/wrapper. Use git to clone the OKCMD repository and use the okcmd shell script in the repository root. The okcmd command won’t be automatically added to your PATH.

The okcmd shell script wraps execution in a local virtual environment installed using virtualenv and pip (both are required dependencies). After version upgrades of dependencies or tools there might be unforeseen problems or bugs; try deleting the folder .okcmd-virtualenv/ to reinstall the virtual environment.

History

The time has come to deactivate my OkCupid account, but I was slightly unhappy about leaving all my messages in a locked silo, as they contained a nontrivial amount of emotionally significant correspondence. I googled around a bit for scripts that other people had written to do download them, and found one written for Greasemonkey and another written in Java, but neither seemed to be recent enough to be able to handle the current OkC HTML. I strongly prefer the BeautifulSoup Python library for dealing with HTML, so decided to write my own instead of modifying either of those.

I probably won’t update OKCMD as the site updates, but the project is still active with the help of OKCMD’s contributors :)

Related projects

If you are interested in this project, chances are that the following project(s) might also be worth a look.


OkCupid-Message-Downloader © 2011, 2012, 2013, 2014, 2015 Steven Lehrburger (@lehrblogger). Released under the MIT license.