Skip to content

Instantly share code, notes, and snippets.

@chabanovsky
Created December 4, 2016 19:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chabanovsky/28d783d97a0c1a789d46adb4a223682b to your computer and use it in GitHub Desktop.
Save chabanovsky/28d783d97a0c1a789d46adb4a223682b to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import json, requests
import os
import sys
import urllib
reload(sys)
sys.setdefaultencoding('utf-8')
se_api_url = "api.stackexchange.com/2.2/";
request_protocol = "http://"
api_key = ""
target_site = "ru.stackoverflow"
def fetchUsers(page_size, page):
url = request_protocol + se_api_url + "users?page=" + str(page) + "&pagesize=" + str(page_size) + "&order=desc&sort=reputation&site=" + target_site + "&key=" + api_key;
resp = requests.get(url=url, params={})
return json.loads(resp.text.encode('utf-8', 'replace'))
if __name__ == "__main__":
os.chdir("./data/")
page_size = 100
for index in range (0, 10):
users = fetchUsers(page_size, index).get('items', dict())
for sub_index in range(0, len(users)):
user = users[sub_index]
avatar = user['profile_image'].replace("s=128", "s=512")
print avatar
img = urllib.URLopener()
try:
name = (avatar.split('/')[-1]).split("?")[0]
img.retrieve(avatar, name if len(name.split(".")) > 1 else name + ".jpeg")
except KeyboardInterrupt:
quit()
except:
print("Unexpected error:", sys.exc_info()[0])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment