Python 推特统计

3 投票
2 回答
1094 浏览
提问于 2025-04-16 19:38

我想要按月统计关注某个账号的人数,以及取消关注这个账号的人数,还有每个月这个账号发的推文总数,以及每个月被转发的次数。

我正在用Python来实现这个功能,并且已经安装了python-twitter这个库,但因为文档内容比较少,我现在很多地方都在猜测。我想问问有没有人能给我一些指引?我已经通过OAuth认证了,所以这方面没问题,我只是需要一些帮助来获取这些数据。

谢谢大家。

2 个回答

1

这些统计数据通常不能通过Twitter的API获取。根据你选择的数据时间范围,你可以试试使用Twittercounter.comAPI(你可以在这里注册获取API密钥)。

这个API每小时最多只能调用100次,除非你被列入白名单。你可以获取过去14天的数据。下面是一个请求的例子:

http://api.twittercounter.com?twitter_id=813286&apikey=[api_key]

返回的结果是JSON格式,看起来像这样:

{"version":"1.1","username":"BarackObama","url":"http:\/\/www.barackobama.com","avatar":"http:\/\/a1.twimg.com\/profile_images\/784227851\/BarackObama_twitter_photo_normal.jpg","followers_current":7420937,"date_updated":"2011-04-16","follow_days":"563","started_followers":"2264457","growth_since":5156480,"average_growth":"9166","tomorrow":"7430103","next_month":"7695917","followers_yesterday":7414507,"rank":"3","followers_2w_ago":7243541,"growth_since_2w":177396,"average_growth_2w":"12671","tomorrow_2w":"7433608","next_month_2w":"7801067","followersperdate":{"date2011-04-16":7420937,"date2011-04-15":7414507,"date2011-04-14":7400522,"date2011-04-13":7385729,"date2011-04-12":7370229,"date2011-04-11":7366548,"date2011-04-10":7349078,"date2011-04-09":7341737,"date2011-04-08":7325918,"date2011-04-07":7309609,"date2011-04-06":7306325,"date2011-04-05":7283591,"date2011-04-04":7269377,"date2011-04-03":7257596},"last_update":1302981230}

不过,Twittercounter不提供转发统计数据,但你可以尝试从Favstar获取这些数据(不过他们目前没有公开的API)。

1

我的问题是,我还需要获取取消关注的统计数据,但twittercounter并没有提供这些信息。

我的解决办法是直接使用twitter的REST API,利用Python中的oauth2库。我发现这样做比其他一些Python的Twitter库简单多了。这个例子特别有帮助:http://parand.com/say/index.php/2010/06/13/using-python-oauth2-to-access-oauth-protected-resources/

撰写回答