{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import requests\n", "base_url = 'https://www.reddit.com/'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Grabbing system defined values\n", "import os\n", "reddit_username = 'alpscode'\n", "reddit_password = os.environ['reddit_pass']\n", "app_id = 'QC-6FYIEH_kqUw'\n", "app_secret = os.environ['reddit_secret']" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "200\n", "{'access_token': '216912536673--fFzSxgNi3lkKXBvluG84vT1sLU', 'token_type': 'bearer', 'expires_in': 3600, 'scope': '*'}\n" ] } ], "source": [ "data = {'grant_type': 'password', 'username': reddit_username, 'password': reddit_password}\n", "client_auth = requests.auth.HTTPBasicAuth(app_id, app_secret)\n", "response = requests.post(base_url + 'api/v1/access_token',\n", " data=data,\n", " headers={'user-agent': 'puppy-parser by alpscode'},\n", " auth=client_auth)\n", "print(response.status_code)\n", "values = response.json()\n", "print(values)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "bearer 216912536673--fFzSxgNi3lkKXBvluG84vT1sLU\n" ] } ], "source": [ "token = 'bearer {}'.format(values['access_token'])\n", "print(token)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpscode 0\n", "200\n" ] } ], "source": [ "api_url = 'https://oauth.reddit.com'\n", "\n", "headers = {'Authorization': token, 'User-Agent': 'puppy-parser by alpscode'}\n", "response = requests.get(api_url + '/api/v1/me', headers=headers)\n", "\n", "if response.status_code == 200:\n", " print(response.json()['name'], response.json()['comment_karma'])\n", "\n", "print(response.status_code)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "200\n" ] } ], "source": [ "# Searching for subreddits\n", "payload = {'q': 'puppies', 'limit': 5, 'sort': 'relevance'}\n", "response = requests.get(api_url + '/subreddits/search', headers=headers, params=payload)\n", "print(response.status_code)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['kind', 'data'])\n" ] } ], "source": [ "values = response.json()\n", "#print(response.text)\n", "print(values.keys())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "puppies\n", "aww\n", "dogpictures\n", "corgi\n", "lookatmydog\n" ] } ], "source": [ "for i in range(len(values['data']['children'])):\n", " print(values['data']['children'][i]['data']['display_name'])" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }