검색 API를 사용하여 같은 트윗을 얻지 못하는 방법을 찾고 있습니다. 내가 뭘하는지의 그 :python-twitter 검색 API를 사용하여 최신 짹짹 ID를 얻는 방법
- 가 트위터
- 스토어 트윗 또 다른 요청을 트위터
- 스토어 트윗
- 에 요청을,
- 2, 4 에서 결과를 비교
이상적으로 5 단계에서 나는 0을 얻습니다. 즉, 수신 된 겹침 짹짹이 없음을 의미합니다. 그래서 트위터 서버에 동일한 정보를 두 번 이상 묻지 않습니다.
하지만 3 단계에서 멈춰서 전화를 다시해야한다고 생각합니다. 일부 특정 지점 이후에 짹짹을 얻으려고 'since_id'
인수를 사용하려고합니다. 하지만 내가 사용하는 값이 맞는지 확실하지 않습니다.
코드 :
import twitter
class Test():
def __init__(self):
self.t_auth()
self.hashtag = ['justinbieber']
self.tweets_1 = []
self.ids_1 = []
self.created_at_1 = []
self.tweet_text_1 = []
self.last_id_1 = ''
self.page_1 = 1
self.tweets_2 = []
self.ids_2 = []
self.created_at_2 = []
self.tweet_text_2 = []
self.last_id_2 = ''
self.page_2 = 1
for i in range(1,16):
self.tweets_1.extend(self.api.GetSearch(self.hashtag, per_page=100, since_id=self.last_id_1, page=self.page_1))
self.page_1 += 1;
print len(self.tweets_1)
for t in self.tweets_1:
self.ids_1.insert(0,t.id)
self.created_at_1.insert(0,t.created_at)
self.tweet_text_1.insert(0,t.text)
self.last_id_1 = t.id
self.last_id_2 = self.last_id_1
for i in range(1,16):
self.tweets_2.extend(self.api.GetSearch(self.hashtag, per_page=100, since_id=self.last_id_2, page=self.page_2))
self.page_2 += 1;
print len(self.tweets_2)
for t in self.tweets_2:
self.ids_2.insert(0,t.id)
self.created_at_2.insert(0,t.created_at)
self.tweet_text_2.insert(0,t.text)
self.last_id_2 = t.id
print 'Total number of tweets in test 1: ', len(self.tweets_1)
print 'Last id of test 1: ', self.last_id_1
print 'Total number of tweets in test 2: ', len(self.tweets_2)
print 'Last id of test 2: ', self.last_id_2
print '##################################'
print '#############OVERLAPING###########'
ids_overlap = set(self.ids_1).intersection(self.ids_2)
tweets_text_overlap = set(self.tweet_text_1).intersection(self.tweet_text_2)
created_at_overlap = set(self.created_at_1).intersection(self.created_at_2)
print 'Ids: ', len(ids_overlap)
print 'Text: ', len(tweets_text_overlap)
print 'Created_at: ', len(created_at_overlap)
print ids_overlap
print tweets_text_overlap
print created_at_overlap
def t_auth(self):
consumer_key="xxx"
consumer_secret="xxx"
access_key = "xxx"
access_secret = "xxx"
self.api = twitter.Api(consumer_key, consumer_secret ,access_key, access_secret)
self.api.VerifyCredentials()
return self.api
if __name__ == "__main__":
Test()
당신은 내림차순으로 저장된 Since_ID와 다른 배열을 생성 한 다음 전화를 걸기 전에 상위 배열을 검색 할 수 있습니다. – LonelySoul