-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtwitter_client.py
29 lines (23 loc) · 1.02 KB
/
twitter_client.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
import requests
import json
from model.tweet import Tweet
token = '{your twitter token}'
tweets_search_url = 'https://api.twitter.com/1.1/search/tweets.json'
user_search_url = 'https://api.twitter.com/1.1/users/lookup.json'
puerto_lopez_geocode = '4.0913971,-72.9734281'
colombian_radius = '800km'
geocode_param = puerto_lopez_geocode + ',' + colombian_radius
def request_tweets(subject):
params_map = {'q': subject, 'tweet_mode': 'extended',
'count': 100, 'geocode': geocode_param}
headers = {'Authorization': token}
r = requests.get(tweets_search_url, params=params_map, headers=headers)
result = r.json()
return [Tweet(tweet['retweeted_status']['full_text'], []) if 'retweeted_status' in tweet
else Tweet(tweet['full_text'], []) for tweet in result['statuses']]
def get_user_by_handle(subject):
params_map = {'screen_name': subject}
headers = {'Authorization': token}
r = requests.get(user_search_url, params=params_map, headers=headers)
result = r.json()
return result