使从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第三方库


热门话题
jframe为什么JAVA paint()方法不起作用?   java Guice:将ContainerRequestContext注入拦截器   java如何优雅地关闭Spring JMS MessageListenerAdapter   java如何在Spring中设置快照隔离级别   Java中的安卓平台独立信任存储路径   java无法在eclipse中运行hello world程序   java Sinch空指针问题   使用Java将JSON流式传输到BigQuery   java从“大数据”中选择什么Swing控件?   java通过对象字段过滤/排序集合?   java将数据从活动传递到另一个活动中的片段   java访问打包在jar文件中的文档   Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());   java Android libgdx:启动程序图标按下后,启动屏幕不会立即显示   java如何在Google App Engine灵活环境中配置oracle jdk   java有没有办法减少这些行?   Java:客户端socket不读取第二行,在终止符行之后保持打开状态   java以编程方式获取api 29上的所有APK文件   java ActionBar按钮不显示