Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. import sys
  2. import operator
  3. import requests
  4. import json
  5. import twitter
  6. from watson_developer_cloud import PersonalityInsightsV2 as PersonalityInsights
  7.  
  8. def analyze(handle):
  9.  
  10. twitter_consumer_key = ''
  11. twitter_consumer_secret = ''
  12. twitter_access_token = ''
  13. twitter_access_secret = ''
  14.  
  15. twitter_api = twitter.Api(consumer_key=twitter_consumer_key,
  16. consumer_secret=twitter_consumer_secret,
  17. access_token_key=twitter_access_token,
  18. access_token_secret=twitter_access_secret)
  19.  
  20.  
  21. statuses = twitter_api.GetUserTimeline(screen_name=handle, count=200, include_rts=False)
  22.  
  23. text = ""
  24. for s in statuses:
  25. if (s.lang =='en'):
  26. text += s.text.encode('utf-8')
  27.  
  28. pi_username = ''
  29. pi_password = ''
  30.  
  31. personality_insights = PersonalityInsights(username=pi_username, password=pi_password)
  32.  
  33. pi_result = personality_insights.profile(text)
  34.  
  35. return pi_result
  36.  
  37. def flatten(orig):
  38. data = {}
  39. for c in orig['tree']['children']:
  40. if 'children' in c:
  41. for c2 in c['children']:
  42. if 'children' in c2:
  43. for c3 in c2['children']:
  44. if 'children' in c3:
  45. for c4 in c3['children']:
  46. if (c4['category'] == 'personality'):
  47. data[c4['id']] = c4['percentage']
  48. if 'children' not in c3:
  49. if (c3['category'] == 'personality'):
  50. data[c3['id']] = c3['percentage']
  51. return data
  52.  
  53. def compare(dict1, dict2):
  54. compared_data = {}
  55. for keys in dict1:
  56. if dict1[keys] != dict2[keys]:
  57. compared_data[keys] = abs(dict1[keys] - dict2[keys])
  58. return compared_data
  59.  
  60. user_handle = "@Codecademy"
  61. celebrity_handle = "@IBM"
  62.  
  63. user_result = analyze(user_handle)
  64. celebrity_result = analyze(celebrity_handle)
  65.  
  66. user = flatten(user_result)
  67. celebrity = flatten(celebrity_result)
  68.  
  69. compared_results = compare(user,celebrity)
  70.  
  71. sorted_result = sorted(compared_results.items(), key=operator.itemgetter(1))
  72.  
  73. for keys, value in sorted_result[:5]:
  74. print keys,
  75. print(user[keys]),
  76. print ('->'),
  77. print (celebrity[keys]),
  78. print ('->'),
  79. print (compared_results[keys])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement