Provides a Twitter API (Python)

Source: Internet
Author: User

There are a lot of Twitter APIs, but they do not always feel powerful. You will not be able to get all the deductions. I have summarized several APIs

The following code:

'''Created on Jun 22, 2013@author: Yang'''import twitterimport jsonimport timeimport datetimefrom email.utils import parsedateimport math# Consumerkey = 'myY0zZaRQ1eDEELFfoen7g'# Consumersecret = 'RLXWJrU07HaX2KVOyrhIQ8aV81XHMeMKcbAxqDN4Jc'# token = '321341780-gQ1hpc6gLfqUuDc8TKH6HyvbAnJ1uWWiYEOoKwoY'# tokensecret = 'RndJtFxDJrhJVNNqjS3XMHgQi6ufY5U6OoRes9URwQ'# # t = twitter.Api(Consumerkey, Consumersecret, token, tokensecret)def timestamp(str):    #this function is to convert the time into stamptiem type    #this time is computed for us in the next steps    datatime = parsedate(str)    temp = list(datatime)[0:6]    c = datetime.datetime(temp[0], temp[1], temp[2], temp[3], temp[4], temp[5])    temp = time.mktime(c.timetuple())      return tempdef SearchQuery(query, t):    #in order to search tweets by query    #return a tweet list    tweets = t.GetSearch(term=query, count=200)    #count is the numver of tweets    t = []    c = 1    for s in tweets:        temp = json.loads(str(s))         t.append(temp)        tweetid = temp['id']            for i in range(0,5):        tweets = t.GetSearch(temp=query, max_id=tweetid, count=200)        tlist = []        for s in tweets:            temp = json.loads(str(s))            tlist.append(temp)            tweetid = temp['id']        t = t+tlist    return tdef SearchLocation(geo, t):    #in order to search by get information    #return a tweet list    tweets = t.GetSearch(geocode=geo, count=200)        t = []    c = 1    for s in tweets:        temp = json.loads(str(s))         t.append(temp)        tweetid = temp['id']            for i in range(0,5):        tweets = t.GetSearch(geocode=geo, max_id=tweetid, count=200)        tlist = []        for s in tweets:            temp = json.loads(str(s))            tlist.append(temp)            tweetid = temp['id']        t = t+tlist    return tdef GetUsertweets(id, tweetid, tweettime, delay=24*60*60, t):    #in order to get the user tweets since and befor tweets    #in time stamp one day is 24*60*60    #so we think that the delay is 24*3600    tweets = t.GetUserTimeline(id, max_id=tweetid, count=100)    #here we use the max_id to get the tweets    t = []    time = timestamp(tweettime)        if len(tweets)!=0:        for s in tweets:            temp = json.loads(str(s))            #t.append(temp)            creattime = temp['created_at']            creattime = timestamp(str(creattime))            if abs(creattime-time)>delay:                continue            else:                t.append(temp)        tweets = t.GetUserTimeline(id, since_id=tweetid, count=100)    #then we use the since_id to get the tweets     if len(tweets)!=0:        for s in tweets:            temp = json.loads(str(s))            #t.append(temp)            creattime = temp['created_at']            creattime = timestamp(str(creattime))            if abs(creattime-time)>delay:                continue            else:                t.append(temp)     return t

There are two main functions: Search and getusertweets.

Max_id and since_id are used repeatedly, so as to catch as many tweets as possible.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.