I a*_*rge 6 python twitter tweepy
我从USATODAY获得了最大量的推文,这是3000.
现在我想创建一个脚本,以便在每天晚上11:59自动提取USATODAY的推文.
我打算使用流api然后我将不得不让它保持运行一整天.
我是否可以了解如何创建一个脚本,每天晚上11:59运行REST API以获取当天的推文?如果没有,是否有人知道如何根据日期提取推文?
我正在考虑在我的for循环中放置一个ifelse语句,但这似乎效率低下,因为它必须每晚搜索3000条推文.
这就是我现在拥有的:
client = MongoClient('localhost', 27017)
db = client['twitter_db']
collection = db['usa_collection']
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)
api = tweepy.API(auth)
for tweet in tweepy.Cursor(api.user_timeline,id='USATODAY').items():
collection.insert(tweet._json)
Run Code Online (Sandbox Code Playgroud)
Zda*_*daR 10
您可以在页面的帮助下简单地检索推文,现在在每个页面上接收到您对推文进行迭代并提取使用的推文的创建时间,tweet.created_at并找到提取日期和当前日期之间的差异,如果差异小于1天然后它是一个有利的推文,否则你只是退出循环.
import tweepy, datetime, time
def get_tweets(api, username):
page = 1
deadend = False
while True:
tweets = api.user_timeline(username, page = page)
for tweet in tweets:
if (datetime.datetime.now() - tweet.created_at).days < 1:
#Do processing here:
print tweet.text.encode("utf-8")
else:
deadend = True
return
if not deadend:
page+=1
time.sleep(500)
get_tweets(api, "anmoluppal366")
Run Code Online (Sandbox Code Playgroud)
注意:您没有访问该人的所有3000条推文,您只会迭代在启动应用程序时 24小时内创建的推文.
| 归档时间: |
|
| 查看次数: |
9928 次 |
| 最近记录: |