skip to navigation
skip to content

Not Logged In

pyokc 0.2.4

A package for interacting with OKCupid.com

Latest Version: 0.3

pyokc pyokc is a Python 3 package for interacting with OKCupid.com that was largely inspired by this postand by this guy(sort of).

Use Starting a new session python from pyokc import pyokc

u = pyokc.User(‘totallymyusername’, ‘totallymypassword’)

Messaging another user python u.message(‘foxylady899’, ‘Do you have a map?’)

Searching profiles python profile_list = u.search(age_min=26, age_max=32)

Just like OKCupid, pyokc uses default search values if you haven’t specified a particular value. For instance, if you do not state a search location or radius, the profiles returned will be within a 25-mile radius of your profile’s location. By default, search returns 18 profiles, however this can be changed with the number keyword parameter. You can search using every metric that OKCupid currently allows, with the exception of A-list only options. The objects returned in the list are Profile objects that contain basic information about a profile as attributes such as name, age, and match. The actual content of a profile, however, cannot be accessed without actually visiting the profile.

Visiting a profile u.visit(‘foxylady899’) or u.visit(profile_list[0]) The argument passed to visit can either be a string username or a Profile object. Note that this will cause you to show up in that user’s visitors list, unless you’ve turned on invisible browsing. Once you have visited a profile, you should have access to just about every piece of information that is also available on the website. You can check out the docstrings and source code of the Profile class in pyokc.py to get a better idea of what is available to you.

Rating a profile python u.rate(‘foxylady899’, 5)

User/Profile questions The questions that you or someone else have answered can be accessed as a list via the questions attribute of User or Profile, respectively. Because getting this information can involve a time-consuming number of requests, you must first manually fill this list via the User.update_questions() or Profile.update_questions() methods. You can then access Question information via attributes like q.text and q.user_answer.

Mailbox python first_thread = u.inbox[0]

u.read(first_thread)

print(first_thread.messages)

Because reading each thread requires a request to the server, you must first pass a MessageThread object as an argument to User.read() before its messages attribute will become available.

Installation bash pip install pyokc

pyokc has two dependencies: requests and lxml.

Note:Windows users will likely run into issues installing lxml. If this happens, be sure to install the binaries hereand then use pip again.

FAQ Why is my program going slowly? pyokc overrides the get and post methods of Requests.Session to include a 3-second delay between requests to OKCupid. Hopefully, this will prevent someone from making too many requests in too short of a timespan and bringing down the wrath of the OKCupid powers-that-be. This length of time can be modified by changing the number assigned to DELAY in settings.py.

 
File Type Py Version Uploaded on Size
pyokc-0.2.4.win-amd64.exe (md5) MS Windows installer any 2014-03-22 237KB
pyokc-0.2.4.win32.exe (md5) MS Windows installer any 2014-05-20 208KB
pyokc-0.2.4.zip (md5) Source 2014-03-22 20KB
  • Downloads (All Versions):
  • 78 downloads in the last day
  • 388 downloads in the last week
  • 1148 downloads in the last month