Advertisement
stuppid_bot

Untitled

Aug 17th, 2014
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.85 KB | None | 0 0
  1. # -*- coding: u8 -*-
  2. from account import *
  3. from vklib import *
  4.  
  5. vk = VKClient(delay_time=.5)
  6. vk.login(username, password)
  7.  
  8. oid=-25788864
  9. o=0
  10. c=100
  11. max_likes=0
  12. max_likes_post=0
  13. max_reposts=0
  14. max_reposts_post=0
  15. total_likes=0
  16. total_reposts=0
  17. user_stats={}
  18. while 1:
  19.     r=vk.api('wall.get', owner_id=oid, offset=o, count=c)
  20.     for post in r['items']:
  21.         if 'signer_id' in post:
  22.             uid=post['signer_id']
  23.             if not uid in user_stats:
  24.                 user_stats[uid] = {'posts': 0, 'likes': 0, 'reposts': 0, 'max_likes': 0, 'max_reposts': 0, 'max_likes_post': 0, 'max_reposts_post': 0}
  25.             stat=user_stats[uid]
  26.             stat['posts']+=1
  27.             stat['likes']+=post['likes']['count']
  28.             stat['reposts']+=post['reposts']['count']
  29.             if stat['max_likes']<post['likes']['count']:
  30.                 stat['max_likes']=post['likes']['count']
  31.                 stat['max_likes_post']=post['id']
  32.             if stat['max_reposts']<post['reposts']['count']:
  33.                 stat['max_reposts']=post['reposts']['count']
  34.                 stat['max_reposts_post']=post['id']
  35.         total_likes+=post['likes']['count']
  36.         total_reposts+=post['reposts']['count']
  37.         if post['likes']['count']>max_likes:
  38.             max_likes=post['likes']['count']
  39.             max_likes_post=post['id']
  40.         if post['reposts']['count']>max_reposts:
  41.             max_reposts=post['reposts']['count']
  42.             max_reposts_post=post['id']
  43.     o+=c
  44.     if o>=r['count']:
  45.         break
  46. total_posts=r['count']
  47. print u"""
  48. Всего записей: {posts}
  49. Всего лайков: {likes}
  50. Всего репостов: {reposts}
  51. Среднее кол-во лайков: {mid_likes}
  52. Среднее кол-во репостов: {mid_reposts}
  53. Пост с максимальным количеством лайков http://vk.com/wall{oid}_{max_likes_post} ({max_likes})
  54. Пост с максимальным количеством репостов http://vk.com/wall{oid}_{max_reposts_post} ({max_reposts})
  55.  
  56. """.format(oid=oid, max_likes=max_likes, max_likes_post=max_likes_post, max_reposts=max_reposts, max_reposts_post=max_reposts_post, posts=total_posts, likes=total_likes, reposts=total_reposts, mid_likes=total_likes/total_posts, mid_reposts=total_reposts/total_posts)
  57. print len(user_stats)
  58. data = ''
  59. for uid, stat in user_stats.items():
  60.     print uid
  61.     r=vk.api('users.get', user_ids=uid)
  62.     data+=u'"{name}";http://vk.com/id{user_id};{posts};{likes};{reposts};{mid_likes};{mid_reposts};{max_likes};http://vk.com/wall{oid}_{max_likes_post};{max_reposts};http://vk.com/wall{oid}_{max_reposts_post}\n' .format(oid=oid, name=r[0]['first_name'] + ' ' + r[0]['last_name'], user_id=uid, mid_likes=stat['likes']/stat['posts'], mid_reposts=stat['reposts']/stat['posts'], **stat)
  63. open('data/stat.csv', 'w').write(data.encode('u8'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement