从twitter获取旧tweets
GetOldTweets3的Python项目详细描述
GetOldTweets3
python 3库和相应的命令行实用程序,用于访问旧tweets。
getoldtweets3是原始jefferson henrique的GetOldTweets-python的改进分支。它修复了已知的问题,并添加了一些功能,如计算转发次数、搜索多个用户帐户等。getoldtweets3仅支持python 3。
详细信息
twitter官方api有时间限制的麻烦,你不能得到超过一周的老tweets。有些工具提供了对旧tweets的访问,但在大多数工具中,你必须先花点钱。 我正在搜索其他工具来完成这项工作,但我没有找到它,所以在分析了twitter通过浏览器搜索的工作原理后,我了解了它的流程。基本上,当你在twitter页面上输入一个滚动加载器时,如果你向下滚动,就会得到越来越多的tweets,所有这些都是通过调用json提供者来实现的。在模拟之后,我们可以在浏览器上获得twitter搜索的最大优势,它可以搜索最深最老的tweets。
安装
使用pip install GetOldTweets3
或pip install -e git+https://github.com/Mottl/GetOldTweets3#egg=GetOldTweets3
命令行实用程序
getoldtweets3:将tweets导出到指定的csv文件(默认情况下为“output_ght.csv”)。
示例
获取帮助:
GetOldTweets3 -h
示例1-通过查询搜索获取tweets:
GetOldTweets3 --querysearch "europe refugees" --maxtweets 10
example 1-按用户名获取最后10条最热门的tweets:
GetOldTweets3 --username "barackobama" --toptweets --maxtweets 10
example 3-按用户名和绑定日期获取tweets(不包括截止日期):
GetOldTweets3 --username "barackobama" --since 2015-09-10 --until 2015-09-12 --maxtweets 10
example 4-通过几个用户名获取tweets:
GetOldTweets3 --username "BarackObama,AngelaMerkeICDU" --usernames-from-file userlist.txt --maxtweets 10
(请检查https://github.com/Mottl/influencers以获取一些已准备好的用户名列表)
example 5-按语言获取tweets:
GetOldTweets3 --querysearch "bitcoin" --lang cn --maxtweets 10
示例6-按位置获取tweets:
GetOldTweets3 --querysearch "bitcoin" --near "Berlin, Germany" --within 25km --maxtweets 10
示例7-按地理坐标获取tweets:
GetOldTweets3 --querysearch "museum" --near "55.75, 37.61" --within 40km --maxtweets 10
python类
tweet:描述特定tweet的模型类。
- 内径(str)
- 永久性(str)
- 用户名(str)
- 至(str)
- 文本(str)
- 日期(日期时间)(UTC格式)
- 转发(int)
- 收藏夹(int)
- 提及(str)
- 标签(str)
- 地理(str)
tweet manager:帮助在tweet模型中获取tweet的manager类。
- gettweets(twitterCriteria):返回使用twitterCriteria实例检索的tweets列表。
twitterCriteria:要与tweetManager一起使用的搜索参数集合。
- setusername(str或iterable):来自twitter帐户的可选特定用户名(带或不带“@”)。
- setsine(str.“yyy-mm-dd”):限制搜索的下限日期(UTC)。
- setuntil(str.“yyyy-mm-dd”):限制搜索的上限日期(不包括)。
- setQuerySearch(str):要匹配的查询文本。
- settopTweets(bool):如果为true,则只检索顶部的tweets。
- setnear(str):生成tweets的引用位置区域。
- setwithin(str):距离“近”位置的距离半径(如15mi)。
- SETMASTTWETES(INT):要检索的最大Twitter数。如果此数字未设置或低于1,则将检索所有可能的tweets。
示例
get tweets by用户名:
importGetOldTweets3asgottweetCriteria=got.manager.TweetCriteria().setUsername("barackobama whitehouse")\ .setMaxTweets(2)tweet=got.manager.TweetManager.getTweets(tweetCriteria)[0]print(tweet.text)
get tweets by query search:
tweetCriteria=got.manager.TweetCriteria().setQuerySearch('europe refugees')\ .setSince("2015-05-01")\ .setUntil("2015-09-30")\ .setMaxTweets(1)tweet=got.manager.TweetManager.getTweets(tweetCriteria)[0]print(tweet.text)
get tweets按用户名和绑定日期:
tweetCriteria=got.manager.TweetCriteria().setUsername("barackobama")\ .setSince("2015-09-10")\ .setUntil("2016-01-01")\ .setMaxTweets(1)tweet=got.manager.TweetManager.getTweets(tweetCriteria)[0]print(tweet.text)
按用户名获取最后10条热门推文:
tweetCriteria=got.manager.TweetCriteria().setUsername("barackobama")\ .setTopTweets(True)\ .setMaxTweets(10)tweet=got.manager.TweetManager.getTweets(tweetCriteria)[0]print(tweet.text)