Я пытаюсь получить твиты, используя TwitterSearch в Python3.Как искать твиты с id на другой id
Так что в основном я хочу получить все твиты между этими двумя идентификаторами.
748843914254249984
->760065085616250880
Эти 2 идентификаторами являются от
Fri Jul 01 11:41:16 +0000 2016
в Mon Aug 01 10:50:12 +0000 2016
Так вот код, который я сделал.
crawl.py
#!/usr/bin/python3
# coding: utf-8
from TwitterSearch import *
import datetime
def crawl():
try:
tso = TwitterSearchOrder()
tso.set_keywords(["keyword"])
tso.set_since_id(748843914254249984)
tso.set_max_id(760065085616250880)
ACCESS_TOKEN = xxx
ACCESS_SECRET = xxx
CONSUMER_KEY = xxx
CONSUMER_SECRET = xxx
ts = TwitterSearch(
consumer_key = CONSUMER_KEY,
consumer_secret = CONSUMER_SECRET,
access_token = ACCESS_TOKEN,
access_token_secret = ACCESS_SECRET
)
for tweet in ts.search_tweets_iterable(tso):
print(tweet['id_str'], '-', tweet['created_at'])
except TwitterSearchException as e:
print(e)
if __name__ == '__main__':
crawl()
Я не очень хорошо знаком с Twitter API и поиска с ним. Но этот код должен выполнять эту работу.
Но это дает:
760058064816988160 - Mon Aug 01 10:22:18 +0000 2016
[...]
760065085616250880 - Mon Aug 01 10:50:12 +0000 2016
Много, много раз ... Как я получил те же линии снова и снова вместо того, чтобы все между моими двумя идентификаторами.
Так что я не получаю ни одного из июльских твитов, любая идея почему?
Это работает, когда вы удаляете настройки 'set_since_id' и' set_max_id'? –
@NanderSpeerstra Да, сегодня он получает 198 твитов. С 07:51 по 08:54. – Difender
Если я запустил ваш код и поместил счетчик в цикле ('i = 0; for(): i + = 1, если i == 300: break;'), он действительно работает. Но он находит (ровно) 100 твитов, а затем перезапускает цикл.Так что с 'i = 300' я получаю те же результаты ровно 3 раза. –