使从twitter吸收tweets变得容易的包。
tweetvac的Python项目详细描述
高音vac
用于从twitter中吸收tweets的python包。它实现了 推特的guidelines for working with timelines所以 你不必这么做。
tweetvac支持从twitter中回溯提取tweets。为了 例如,它可以按特定用户或 来自某个地理区域的所有提到搜索词的推文。它 自动生成沿 时间表。
身份验证
twitter需要oauth。TweetVac可以存储用户的身份验证 配置文件中供重用的信息。
- 登录Twitter并打开 https://dev.twitter.com/apps。
- 创建新应用程序。名字必须是唯一的 Twitter应用程序。不需要回调。
- 在应用程序网页上创建OAuth访问令牌。
- 创建一个名为tweetvac.cfg的文件,并按如下格式进行格式化:
[Auth] consumer_key = Gx33LSA3IICoqqPoJOp9Q consumer_secret = 1qkKAljfpQMH9EqDZ8t50hK1HbahYXAUEi2p505umY0 oauth_token = 14574199-4iHhtyGRAeCvVzGpPNz0GLwfYC54ba3sK5uBl4hPe oauth_token_secret = K80YytdT9FRXEoADlVzJ64HDQEaUMwb37N9NBykCNw5gw
或者,可以在 上面的顺序放入Tweetvac构造函数,而不是存储它们 在配置文件中。
基本知识
导入TweetVac
fromtweetvacimportTweetVac
创建TweetVac实例
您可以将oauth参数作为元组传递:
vac=TweetVac((consumer_key,consumer_secret,oauth_token,oauth_token_secret))
或者使用配置对象:
config=TweetVacAuthConfig()vac=TweetVac(config)
低沉的tweets
TweetVac需要一个Twitter端点和一个参数字典 那个终点。阅读Twitter documentation以获取 端点及其参数。建议设置计数 params dict中的选项,该选项支持的最大值 终点。
params={'screen_name':'struckDC','count':200}data=vac.suck('statuses/user_timeline',params)
使用数据
返回的数据是一个dict列表。dict中的字段列在twitter中 API documentation on the Tweet object。
数据可以转换回json并存储到如下文件:
withopen('data.json','w')asoutfile:json.dump(data,outfile)
高级
过滤tweets
twitter在每个端点上提供了几个参数来选择 要检索的推文。额外的剔除可通过 筛选函数的列表。
defremove_mention_tweets(tweet):returnnot'@'intweet['text']data=vac.suck('statuses/user_timeline',params,filters=[remove_mention_tweets])
从函数中返回false以从列表中删除tweet。
关闭真空
TweetVac将吸收Tweets,直到您达到速率限制或 使用所有可用的tweets。为了早点停下来,你可以过一个关 当TweetVac应该停止时返回true的函数。
defstop(tweet):cutoff_date=time.strptime("Wed Jan 01 00:00:00 +0000 2014",'%a %b %d %H:%M:%S +0000 %Y')tweet_date=time.strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y')returntweet_date<cutoff_datedata=vac.suck('statuses/user_timeline',params,cutoff=stop)
您还可以对停止请求的数量进行硬限制 TweetVac早期:
data=vac.suck('statuses/user_timeline',params,max_requests=10)
Twitter API
支持的终结点
- statuses/user_timeline -指定用户的推文。
- statuses/home_timeline -由认证用户跟踪的推文。
- statuses/mentions_timeline -提到认证用户的推文。
- statuses/retweets_of_me -转发身份验证用户的tweets。
- search/tweets -在推特上搜索
- lists/statuses -用户列表中的推文
端点具有不同的请求速率限制,每个 请求和tweet总数限制。