Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.21 KB | None | 0 0
  1. import pickle
  2. from VK_Tools import func
  3. from VK_Tools import VK_connecter
  4. from Customers_Data_Tools.words_cloud import words_cloud_user, words_cloud_text
  5.  
  6. test_id = 3186751
  7. frends = func.get_friends_ids(test_id)
  8. grops = func.get_groups(test_id)
  9.  
  10. # walls extraction \ [(uid, {post_id: text)}]
  11. if True:
  12.     wolls = []
  13.     for i, frend in enumerate(frends):
  14.         woll = VK_connecter.get_wall(frend)
  15.         wolls.append(woll)
  16.         print('num {0} from {1} is redy'.format(i, len(frends)))
  17.  
  18.     with open('frends.pkl', 'wb') as f:
  19.         pickle.dump(wolls, f)
  20.  
  21. if True:
  22.     wolls = []
  23.     for i, grup in enumerate(grops):
  24.         ngrup = int(grup) * -1
  25.         woll = VK_connecter.get_wall(ngrup)
  26.         wolls.append(woll)
  27.         print('num {0} from {1} iz redy'.format(i, len(grops)))
  28.     with open('grops.pkl', 'wb') as f:
  29.         pickle.dump(wolls, f)
  30.  
  31. # load an info from the dumps
  32. with open('frends.pkl', 'rb') as f:
  33.     frends_wolls = pickle.load(f)
  34. with open('grops.pkl', 'rb') as f:
  35.     grops_wolls = pickle.load(f)
  36.  
  37. # extract a likers from the walls
  38. if True:
  39.     answs = {}
  40.     for i, elem in enumerate(frends_wolls):
  41.         frends_dct = {}
  42.         uid = elem[0]
  43.         postes = [k for k, v in elem[1].items()]
  44.         frends_dct[uid] = postes
  45.         ans = VK_connecter.likers_execute(frends_dct)
  46.         print(ans)
  47.         try:
  48.             answs.update(ans)
  49.         except TypeError:
  50.             pass
  51.  
  52.     with open('frens_lakers.pkl', 'wb') as f:
  53.         pickle.dump(answs, f)
  54.  
  55. if True:
  56.     answs = {}
  57.     for i, elem in enumerate(grops_wolls):
  58.         groops_dct = {}
  59.         uid = elem[0]
  60.         gid = int(uid) * -1
  61.         postes = [k for k, v in elem[1].items()]
  62.         groops_dct[uid] = postes
  63.         ans = VK_connecter.likers_execute(groops_dct)
  64.         print(ans)
  65.         try:
  66.             answs.update(ans)
  67.         except TypeError:
  68.             pass
  69.  
  70.     with open('grops_lakers.pkl', 'wb') as f:
  71.         pickle.dump(answs, f)
  72.  
  73. # upload from dumps
  74. with open('frens_lakers.pkl', 'rb') as f:
  75.     friends_likers = pickle.load(f)
  76. with open('grops_lakers.pkl', 'rb') as f:
  77.     groups_likers = pickle.load(f)
  78.  
  79. # find the posts which were liked by test_id
  80. if False:
  81.     friends_posts_liked = []
  82.     for k, v in friends_likers.items():
  83.         if test_id in v:
  84.             friends_posts_liked.append(k)
  85.     with open('friends_posts_liked.pkl', 'wb') as f:
  86.         pickle.dump(friends_posts_liked, f)
  87.  
  88.     groups_posts_liked = []
  89.     for k, v in groups_likers.items():
  90.         if test_id in v:
  91.             groups_posts_liked.append(k)
  92.     with open('groups_posts_liked.pkl', 'wb') as f:
  93.         pickle.dump(groups_posts_liked, f)
  94.  
  95. # load from da dumps
  96. with open('friends_posts_liked.pkl', 'rb') as f:
  97.     friends_posts_liked = pickle.load(f)
  98.  
  99. with open('groups_posts_liked.pkl', 'rb') as f:
  100.     groups_posts_liked = pickle.load(f)
  101.  
  102. # extract liked texts
  103. friends_liked_texts_raw = []
  104. for elem in friends_posts_liked:
  105.     owner, postid = elem[0], elem[1]
  106.     for subelem in frends_wolls:
  107.         if subelem[0] == owner:
  108.             friends_liked_texts_raw.append(subelem)
  109.  
  110. groups_liked_texts_raw = []
  111. for elem in groups_posts_liked:
  112.     owner, postid = elem[0], elem[1]
  113.     for subelem in grops_wolls:
  114.         if subelem[0] == owner:
  115.             groups_liked_texts_raw.append(subelem)
  116.  
  117. # fuse texts in da strings objects
  118. friends_l_texts, groups_l_texts = [], []
  119. for elem in friends_liked_texts_raw:
  120.     content = elem[1]
  121.     text = ' '.join([v for k, v in content.items()])
  122.     friends_l_texts.append(text)
  123.  
  124. for elem in groups_liked_texts_raw:
  125.     content = elem[1]
  126.     text = ' '.join([v for k, v in content.items()])
  127.     groups_l_texts.append(text)
  128.  
  129. fav_texts = friends_l_texts + groups_l_texts
  130. # please find entire text of liked posts in da fav_texts
  131. fav_texts_strght = ' '.join(fav_texts)
  132. wc = words_cloud_user(test_id)
  133. wclks = words_cloud_text(fav_texts_strght, verbose=True)
  134. print('my favorite words: ')
  135. print(wc)
  136. print('favorite words of liked posts: ')
  137. print(wclks)
  138. f = open('result.txt', 'w')
  139. f.write('my favorite words: \n')
  140. f.write(' '.join(wc))
  141. f.write('\n')
  142. f.write('fav words of liked: \n')
  143. f.write(' '.join(wclks))
  144. f.write('\n')
  145. f.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement