2016-05-04 2 views
0

Я пытаюсь получить более старые данные tweet (приблизительно 2 месяца), используя tweepy в Python. Я пробовал с тех пор и до параметров, но не успел. Кто-нибудь получил работу в tweepy или какой-либо другой API.Старые твиты Tweepy с использованием Python

for id,tweet in enumerate (tweepy.Cursor(api.search, q='SpecificWord', since="2016-04-26", until="2016-04-28", lang="en", include_retweets=False ).items(200)): 
    #Write a row to the csv file 
    CSVW.writerow([tweet.created_at, tweet.retweet_count, tweet.text.encode('utf-8')]) 

ответ

3

Это невозможно. The docs on the Twitter API are very clear:

Поиск в API поиска по поисковым запросам в отношении выборок последних твитов, опубликованных за последние 7 дней.

Невозможно выполнить поиск в дальнейшем.

+0

Спасибо Теренсу, вы рекомендуете любой веб-сайт с открытым исходным кодом, откуда я могу загрузить исторические данные твита на основе «SpecificWord», а затем использовать их для дальнейшего анализа? –

+0

Единственное место для получения исторических данных - https://www.gnip.com/ - или начать собирать данные сегодня :-) –

-1

Есть два способа получить старшие твиты.

  1. Вы получаете раздвоенную версию Tweepy, которая поддерживает несколько обработчиков аутентификации. Here is an instruction о том, как его использовать (к сожалению, только с Python 2.7). Или вы используете ограничитель для Tweepy this ratetime. Но с API Twitter самые старые данные, которые вы можете получить, составляют около 7 дней, я думаю.

  2. Другой способ - использовать GetOldTweets-python, он также работает с Python 3. Вот пример того, как его использовать.

первой установки LXML (версия 3.5) & pyquery Version 1.2.10):

pip3 install lxml==3.5.0 
pip3 install pyquery==1.2.10 

Затем загрузить GetOldTweets-питона и скопируйте папку got3 в вас папку сайта пакеты и запустить Python.

import got3 

max_tweets = 3 

tweetCriteria = got3.manager.TweetCriteria().setUntil("2016-01-31").setQuerySearch("bitcoin").setMaxTweets(max_tweets) 

for i in range(max_tweets): 
    tweet = got3.manager.TweetManager.getTweets(tweetCriteria)[i] 
    print(tweet.id) 
    print(tweet.username) 
    print(tweet.text) 
    print(tweet.date) 

Теперь вы получаете твиты с 2016 года!

693584301917655041 
bitcoinfirehose 
Teenagers are using untraceable currency Bitcoin to buy dangerous drugs online http://ift.tt/20eIDwU #reddit #bitcoin 
2016-01-31 00:59:18 

693584300265070593 
bitcoinfirehose 
Hey guys I've seen a need to cashout to Visa. So I created a site to get moneypak codes via Bitcoin ! Please come check it out! … 
2016-01-31 00:59:18 

693584286210002944 
b1eedr 
Bitcoin 2.0: Fantasy Or Inevitability? https://www.cryptocoinsnews.com/bitcoin-2-0-fantasy-or-inevitability/ @CryptoCoinsNews 
2016-01-31 00:59:14 
Смежные вопросы