不使用应用程序访问Twitter流API

5
我正在使用Tweepy库在Python中编写Twitter程序,用于为我做的一项有趣的市场情绪项目。但是,我的API访问和其他方面的知识有限,使得大多数Twitter API文档都有点神秘。我想了解一些问题,如果这不是提出这些问题的适当场所,请告诉我以便我可以在其他地方发布:

1)我没有要编写的应用程序。是否仍然可以在没有应用程序的情况下访问Streaming API?如果是这样,如何申请消费者和访问令牌密钥,以便我可以使用Oauth2访问Feed?

2)只能访问我自己的Twitter Feed,包括我所有的Followees,然后关注我认为会提供相关市场信息的人吗?

目前,我有一个在线找到的快速程序,但显然我目前正在获取“错误:401”,因为我没有消费者密钥或访问令牌密钥:

import tweepy
import oauth2

consumer_key = ''
consumer_secret = ''

access_token_key = ''
access_token_secret = ''

auth1 = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth1.set_access_token(access_token_key, access_token_secret)

class StreamListener(tweepy.StreamListener):
    def on_status(self, tweet):
        print 'Ran on_status'

    def on_error(self, status_code):
        print 'Error: ' + str(status_code)
        return False

    def on_data(self, data):
        print 'Ok, this is actually running'

l = StreamListener()
streamer = tweepy.Stream(auth=auth1, listener=l)
setTerms = ['twitter']
streamer.filter(track=setTerms)

任何帮助都非常感激 - 谢谢。

编辑:我是否应该创建一个虚拟应用程序以便我可以获取API的访问权限?
2个回答

5
你可以创建一个只为自己使用的应用程序来访问API:https://dev.twitter.com/apps tweepy也可以使用基本身份验证,但这已经不再起作用了。
auth = tweepy.BasicAuthHandler(username, password)
api = tweepy.API(auth)

2) 是的,您可以使用API来查询您的推送以及其他用户的推送: 例如:API.user_timeline()API.home_timeline()API.followers()

搜索 tweepy API 参考文档以查找要使用的函数:http://pythonhosted.org/tweepy/html/api.html


命令“tweepy.auth.BasicAuthHandler”已不再起作用。Twitter已弃用基本身份验证,并不再支持它。但仍可在像Status.net这样仍支持它的服务中使用。点击此处阅读更多信息 - Mohammad ElNesr

3
  1. 在Twitter上注册应用程序不需要超过1分钟的时间。它提供了[消费者/访问] [密钥/秘密],你只需要复制并粘贴到代码中:

    注册 Twitter 应用程序

  2. 基本上,Twitter 网页界面上所有可见的数据都可以使用一些 Twitter API 方法进行获取,因此它看起来非常可行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接