-
Notifications
You must be signed in to change notification settings - Fork 0
/
tagInsta.py
50 lines (39 loc) · 1.1 KB
/
tagInsta.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from clarifai.client import ClarifaiApi
# for main testing
import getInsta, keys
def getTaggedPics(pictureURLsList):
taggedPics = []
clarifai_api = ClarifaiApi() # assumes environment variables are set.
for picURL in pictureURLsList:
result = clarifai_api.tag_image_urls(picURL)
tagsPic = result['results'][0]['result']['tag']['classes']
taggedPics.append(tagsPic)
return taggedPics
def getTopTags(picsTagsList, N):
tagCounts = {}
for picTags in picsTagsList:
for tag in picTags:
if tag in tagCounts:
tagCounts[tag] += 1
else:
tagCounts[tag] = 1
n=0
topNtags = []
for topTag in sorted(tagCounts, key=tagCounts.get, reverse=True):
print topTag, tagCounts[topTag]
print n
print "-----------------------------------"
topNtags.append(topTag)
if ( n>N ):
break
n+=1
return topNtags
def main():
ACCESS_TOKEN = keys.INSTA_ACCESS_TOKEN
userid = getInsta.getUserId("beyonce", ACCESS_TOKEN)
picUrls = getInsta.getPicsOfUser(userid, 25, ACCESS_TOKEN)
picsTags = getTaggedPics(picUrls)
top5Tags = getTopTags(picsTags, 7)
print top5Tags
if __name__ == "__main__":
main()