Giter Club home page Giter Club logo

ratings-exporter's Introduction

ratings exporter for Netflix

What

This service was born of my desire to quit Netflix but without having to lose all that info on what I've watched and what I've rated. To that end, I started investigating the Netflix API. While the API doesn't have exactly what I wanted (e.g. fetch all my rated movies), it was able supply enough functionality for me to fetch ratings for all the movies I had rented/streamed. Good enough, I suppose. Since collecting that information from Netflix takes time, I created a web service which would spawn delayed_jobs to do the work.

To get started with your own export, click the Authorize button above, fill in your Netflix credential (note: we use Netflix's OAuth API. See the next section for more details), and this service will be begin exporting your Netflix DVD and Instant rental queue data for you. Once all of the records have been exported, you'll be able to download the data as a blob of json, as csv or as xml.

Thanks to Christopher Cotton for answering my Netflix OAuth question on Stack Overflow!

If you would like to help keep this service running, please donate!

Secure

Our service is never given your Netflix credentials. We are using the Netflix OAuth API, which means you are only authorizing this web app to make requests on your behalf.

We do store a few pieces of Netflix OAuth data in your cookies, including your Netflix user_id so that you do not have to keep re-authorizing the web app if you want to use it more than once. When you are done using this service, you can click the sign out link in the toolbar and we'll flush that information from your cookies.

Your exported rating information is stored in our database for short, indeterminate amount of time, after which it is permanently expunged during recurring, routine maintenance.

This data is available to only you.

Good news, Bad news

The bad news is that this service is only using one web dyno and one worker process. So, it is going to be slow. The good news is, this service is free!

Even more good news, the code for this service is available on [Github](https://github.com/sorens/ratings_exporter). Feel free to inspect it to ensure that we're not doing anything untoward with your data.

UpdateWe've updated the service to use batch requests so now you shouldn't encounter Netflix's request limit. However, there are still circumstances where requests for ratings return no results. If that happens, we detect that there are un-exported ratings and offer you a chance to download those remaining ratings individually by clicking the Continue button. If you would like to skip exporting those ratings, you can lick the Ignore and we'll let you download your data.

Format of the JSON

{
    "60010377": {
        "id": "60010377",
        "title": "Funny Girl",
        "year": "1968",
        "url": "http://api.netflix.com/catalog/titles/movies/60010377",
        "rating": "4.0",
        "type": "streamed",
        "viewed_date": "2011-12-05T09:03:48Z"
    },
    "70102614": {
        "id": "70102614",
        "title": "Dead Like Me: Season 1: \"Reaping Havoc\"",
        "year": "2003",
        "url": "http://api.netflix.com/catalog/titles/programs/70102614",
        "rating": "5.0",
        "type": "streamed",
        "viewed_date": "2009-04-03T17:20:30Z"
    }
}  

Format of the CSV

60010377,Funny Girl,1968,http://api.netflix.com/catalog/titles/movies/60010377,4.0,Title,2011-12-05 01:03:48 -0800,1
70102614,"Dead Like Me: Season 1: ""Reaping Havoc""",2003,http://api.netflix.com/catalog/titles/programs/70102614,5.0,Title,2009-04-03 10:20:30 -0700,1
60003378,Billy Elliot,2000,http://api.netflix.com/catalog/titles/movies/60003378,5.0,Title,2001-06-01 15:37:30 -0700,1

Format of the XML

<?xml version="1.0" encoding="UTF-8"?>
<titles type="array">
  <title>
    <name>Funny Girl</name>
    <rating>4.0</rating>
    <netflix-id>60010377</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:37-08:00</created-at>
    <viewed-date type="datetime">2011-12-05T01:03:48-08:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:25:44-08:00</updated-at>
    <url>
      http://api.netflix.com/catalog/titles/movies/60010377
    </url>
    <id type="integer">22859</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>1968</year>
    <netflix-type>streamed</netflix-type>
  </title>
  <title>
    <name>Dead Like Me: Season 1: "Reaping Havoc"</name>
    <rating>5.0</rating>
    <netflix-id>70102614</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:57-08:00</created-at>
    <viewed-date type="datetime">2009-04-03T10:20:30-07:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:26:00-08:00</updated-at>
    <url>
      http://api.netflix.com/catalog/titles/programs/70102614
    </url>
    <id type="integer">23858</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>2003</year>
    <netflix-type>streamed</netflix-type>
  </title>
  <title>
    <name>Billy Elliot</name>
    <rating>5.0</rating>
    <netflix-id>60003378</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:33-08:00</created-at>
    <viewed-date type="datetime">2001-06-01T15:37:30-07:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:25:36-08:00</updated-at>
    <url>
      http://api.netflix.com/catalog/titles/movies/60003378
    </url>
    <id type="integer">22822</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>2000</year>
    <netflix-type>dvd</netflix-type>
  </title>
</titles>

note: if we were unable to export a rating for a title due to an error, rating will be set to null. If you never set a rating on a particular title, we set the rating to 0.0.

ratings-exporter's People

Contributors

sorens avatar

Stargazers

Rodrigo Vanegas avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.