使从twitter吸收tweets变得容易的包。

tweetvac的Python项目详细描述


高音vac

https://secure.travis-ci.org/cash/tweetvac.png?branch=master

用于从twitter中吸收tweets的python包。它实现了 推特的guidelines for working with timelines所以 你不必这么做。

tweetvac支持从twitter中回溯提取tweets。为了 例如,它可以按特定用户或 来自某个地理区域的所有提到搜索词的推文。它 自动生成沿 时间表。

安装

使用PIP安装TweetVac:

$ pip install tweetvac

如果要克隆此存储库,则需要安装 twython及其依赖项。

身份验证

twitter需要oauth。TweetVac可以存储用户的身份验证 配置文件中供重用的信息。

  1. 登录Twitter并打开 https://dev.twitter.com/apps
  2. 创建新应用程序。名字必须是唯一的 Twitter应用程序。不需要回调。
  3. 在应用程序网页上创建OAuth访问令牌。
  4. 创建一个名为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

支持的终结点

端点具有不同的请求速率限制,每个 请求和tweet总数限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从JTextArea获取文本,并将其调用到ActionPerformed方法   servlet中创建java json对象时出错   java将ActionListeners添加到按钮数组中   java防止圆联合上的死锁   java Google Play Services“登录失败。请检查您的网络连接并重试”   java spring mvc,css不起作用   java在jfreechart上显示标签   使用TestNG的selenium automation中出现java“未找到任何测试。未运行任何内容”错误   BufferedReaderJava。伊奥。IOException:流已关闭   java希望为所有表形成一个通用的更新查询   java仅当元音不以单词开头时才删除元音   java一个Spring项目中有多少配置文件?   java当数组中有参数时,如何发送post请求?   java如何使用Zuul中的CORS作为API网关+AngularJS+微服务   Java是否有不需要添加显式jar引用的内部JSON库?   java JavaFX CheckBoxTreeItem选择   java自定义布尔反序列化器在Gson中不工作