2014-02-10 10 views
3

Я пытаюсь получать твита из Twitter сроков, используя max_id поля, присутствующее в next_results, как показано здесь. (Twython search API with next_results)Проблема с выборкой твитов с таймлайн, как Twitter возвращение оленьей кожи «next_results»

Для большинства запросов, которые я получаю (500+) твитов, но для некоторых я получаю менее 200 твитов.

При изучении того, что возвращается в 'next_results Я обнаружил, что после возвращения всего 100 твитов в ответе есть next_results поле отсутствует. Не может быть только 200 твитов для заданной темы, поскольку я ищу эту тему, когда она тренд, и в Твиттере я вижу более 200 твитов.

Есть ли еще кто-либо, столкнувшийся с этой проблемой. Есть ли обходной путь?

Ниже представлен вывод, где во втором ответе отсутствует поле 'next_results'.

TEST_PROGRAM >> Calling twitter to get tweets for #TheWorstLieEver 

{u'count': 100, u'completed_in': 0.066, u'max_id_str': u'432942833725497345', u'since_id_str': u'0', **u'next_results': u'?max_id=432540545630494719&q=%23TheWorstLieEver&count=100&include 
_entities=1&result_type=mixed'**, u'refresh_url': u'?since_id=432942833725497345&q=%23TheWorstLieEver&result_type=mixed&include_entities=1', u'since_id': 0, u'query': u'%23TheWorstLieEver 
', u'max_id': 432942833725497345L} 

{u'count': 100, u'completed_in': 0.111, u'max_id_str': u'432540545630494719', u'since_id_str': u'0', u'refresh_url': u'?since_id=432540545630494719&q=%23TheWorstLieEver&result_type=mixe 
d&include_entities=1', u'since_id': 0, u'query': u'%23TheWorstLieEver', u'max_id': 432540545630494719L} 
+0

Эй, вы нашли решение? У меня точно такая же проблема –

+0

@ColinBernet Кажется, что реализация собственной навигации max_id дает больше результатов. Это означает, что когда мы получаем ответ без «next_results», нам нужно вручную найти твит с наименьшим идентификатором твита и отправить его в качестве «max_id» в следующем запросе. Вы можете найти его ссылку здесь: [link] (https://github.com/ckoepp/TwitterSearch/issues/6). Я пробовал это, но он не приносил мне больше твитов! – kundan

+0

@ColinBernet Я получил ответ. Если вы ищете том, вам нужно использовать Streaming API. API поиска в Twitter ориентирован на актуальность запроса и, следовательно, может не возвращать все твиты. [Твиттерская документация] (https://dev.twitter.com/docs/using-search) говорит: «Прежде чем принимать участие, важно знать, что API поиска ориентирован на релевантность, а не на полноту. Это означает, что некоторые твиты и пользователи могут отсутствовать в результатах поиска. Если вы хотите соответствовать полноте, вы должны использовать вместо этого Streaming API. ' – kundan

ответ

1

У меня есть ответ. Если вы ищете том, вам нужно использовать Streaming API. API поиска в Twitter ориентирован на актуальность запроса и, следовательно, может не возвращать все твиты. Twitter documentation говорит, что перед тем, как принять участие, важно знать, что API поиска ориентирован на релевантность, а не на полноту. Это означает, что некоторые твиты и пользователи могут отсутствовать в результатах поиска. Если вы хотите соответствовать полноте, вам следует вместо этого использовать Streaming API.

 Смежные вопросы

  • Нет связанных вопросов^_^