Python Twitter库:选哪个?
我知道这个问题有点懒,但我想看看大家对哪个Python库用来处理Twitter的体验比较好。
我之前用过Python Twitter Tools,觉得它界面简洁美观,但似乎并不是很流行——在Twitter库页面上甚至都没有列出。
不过,还有很多其他的库被列出来了:
- Konpaku Kogasa的oauth-python-twitter2。这个库把python-twitter和oauth-python-twitter结合起来,形成了一个进化版的OAuth工具。
- DeWitt Clinton的python-twitter。这个库提供了一个纯Python的Twitter API接口。
- Andrew Price的python-twyt。一个BSD许可的Twitter API接口库和命令行客户端。
- Dustin Sallings的twitty-twister。一个Twisted的Twitter接口。
- Ryan McGrath的twython。一个受python-twitter启发的REST和搜索库。
- Josh Roesslein的Tweepy。支持OAuth、搜索API和流媒体API。
我的需求比较简单:
- 能使用OAuth
- 能关注用户
- 能发送私信
- 能发帖
- 如果能用流媒体API就更好了
除了Twisted的那个(我这次不打算用Twisted),你们用过其他的库吗?如果用过,你们推荐哪个?
[更新] 顺便说一下,我最后还是选择了Python Twitter Tools。新版本很好地支持了OAuth,而且API设计得很巧妙,所以我继续用了它。
3 个回答
我用过tweepy这个工具,觉得它很好玩,也挺简单的。虽然我没有深入了解其他的选择,所以我的看法仅供参考哦。 :)
我先声明一下:我是Twython的作者。
所以,我建议你使用我的这个库。它现在支持OAuth认证,并且还附带了一个简单的Django应用,你可以在大约5分钟内就能搭建好。
它可以处理你需要的所有功能,除了流媒体API。我觉得这种功能应该根据具体情况来实现,因为通常需要的设置比较特殊。而且,大家对这个功能的需求也不高,所以我很难抽出时间来支持它。
pip install twython
python-twitter
这个库可以满足前四个需求。我之前用过,开始使用起来挺简单的。如果你想利用 Twitter 的实时数据接口,我推荐 tweetstream
。这是一个很棒的 Python 模块,可以实时抓取刚发布的推文。根据你是否有 gardenhose/firehose 的权限,你能获取到的推文数量会有所不同,通常只能拿到一小部分。使用 tweetstream
的话,你还可以提供一些搜索条件,来筛选你想要的特定推文。我曾经用它做过一个项目,持续了 8 个小时,效果非常好。这两个模块都可以通过 Python 的 easy-install
安装。
补充一下:我不知道你打算用 Python/Twitter 做什么,但如果你计划抓取大量推文,记得 Twitter 上有很多推文是用英语以外的语言写的。一定要正确编码所有内容。