Guest User

Untitled

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