-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.py
executable file
·46 lines (33 loc) · 1.1 KB
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import signal
import sys
import asyncio
import aiohttp
import json
loop = asyncio.get_event_loop()
client = aiohttp.ClientSession(loop=loop)
async def get_json(client, url):
async with client.get(url) as response:
assert response.status == 200
return await response.read()
async def get_reddit_top(subreddit, client):
data1 = await get_json(
client, "https://www.reddit.com/r/" + subreddit + "/top.json?sort=top&t=day&limit=5"
)
j = json.loads(data1.decode("utf-8"))
for i in j["data"]["children"]:
score = i["data"]["score"]
title = i["data"]["title"]
link = i["data"]["url"]
print(str(score) + ": " + title + " (" + link + ")")
print("DONE:", subreddit + "\n")
def signal_handler(signal, frame):
loop.stop()
client.close()
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
asyncio.ensure_future(get_reddit_top("python", client))
asyncio.ensure_future(get_reddit_top("programming", client))
asyncio.ensure_future(get_reddit_top("compsci", client))
loop.run_forever()