Advertisement
Guest User

Untitled

a guest
Aug 18th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | None | 0 0
  1. import sys
  2.  
  3. session = vk.Session()
  4. api = vk.API(session)
  5.  
  6. def get_partial_group(gid, offset=0):
  7.     if offset == 0:
  8.         return set(api.groups.getMembers(group_id=gid)['users'])
  9.     else:
  10.         return set(api.groups.getMembers(group_id=gid, offset=offset)['users'])
  11.  
  12. def get_group_mcount(gid):
  13.     return api.groups.getById(group_id=gid, fields='members_count')[0]['members_count']
  14.  
  15. def get_group(gid):
  16.     n = get_group_mcount(gid)
  17.     result = set()
  18.     for i in range((n + 999) // 1000):
  19.         result = result.union(get_partial_group(gid, i * 1000))
  20.         if len(result) < 2:
  21.             break
  22.     return result
  23.  
  24. grps = sorted(sys.argv[1:], key=get_group_mcount, reverse=True)
  25.  
  26. ids = get_group(grps[0])
  27. for _id in grps[1:]:
  28.     ids.intersection_update(get_group(_id))
  29.  
  30. if len(ids) > 10:
  31.     print('Too many ids: {}'.format(len(ids)))
  32. elif len(ids) > 0:
  33.     print(ids)
  34. else:
  35.     print('No matches')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement