首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tweepy流过滤字段

Tweepy流过滤字段
EN

Stack Overflow用户
提问于 2016-07-09 14:16:52
回答 1查看 1.9K关注 0票数 1

我有这个python代码,它用Tweepy和Streming API从Twitter中检索数据,当找到1000个结果(即1000个tweet数据)时,它就停止了。它运行得很好,但问题是,当我尝试在PyCharm上运行它时,它会减少部分结果。由于代码返回一个tweet (ID、Text、Author )的所有数据,因此它产生了太多的数据和软件崩溃。因此,我希望te修改代码,以便只获取twitter数据的一些字段(例如。我只需要推特的文字,作者,日期)任何建议都很感谢。

代码语言:javascript
复制
# Import the necessary package to process data in JSON format
try:
    import json
except ImportError:
    import simplejson as json

# Import the necessary methods from "twitter" library
from twitter import Twitter, OAuth, TwitterHTTPError, TwitterStream

# Variables that contains the user credentials to access Twitter API
ACCESS_TOKEN = ''
ACCESS_SECRET = ''
CONSUMER_KEY = ''
CONSUMER_SECRET = ''


oauth = OAuth(ACCESS_TOKEN, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET)

# Initiate the connection to Twitter Streaming API
twitter_stream = TwitterStream(auth=oauth)

# Get a sample of the public data following through Twitter
#iterator = twitter_stream.statuses.sample() #SEMPLICE TWITTER STREAMING

iterator = twitter_stream.statuses.filter(track="Euro2016", language="en") #tWITTER STREAMING IN BASE AD UNA TRACK DI RICERCA E AL LINGUAGGIO PER ALTRI SETTAGGI VEDERE https://dev.twitter.com/streaming/overview/request-parameters
#PER SETTARE PARAMETRI RICERCA https://dev.twitter.com/streaming/overview/request-parameters


# Print each tweet in the stream to the screen
# Here we set it to stop after getting 1000 tweets.
# You don't have to set it to stop, but can continue running
# the Twitter API to collect data for days or even longer.
tweet_count = 1000 #SETTAGGIO DI QUANTI RISULTATI RESTITUIRE
for tweet in iterator:
    tweet_count -= 1
    # Twitter Python Tool wraps the data returned by Twitter
    # as a TwitterDictResponse object.
    # We convert it back to the JSON format to print/score
    print(json.dumps(tweet))

    # The command below will do pretty printing for JSON data, try it out
    # print json.dumps(tweet, indent=4)

    if tweet_count <= 0:
        break
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-09 15:04:52

我能够在PyCharm上运行这个程序,而不需要为1000条推特发布任何问题。因此,请尝试在另一台计算机上运行此程序,或者调查您的现有系统是否存在问题。

结果是一个python字典,所以访问单个元素所需的全部内容如下所示

代码语言:javascript
复制
for tweet in iterator:
    tweet_count -= 1
    #access the elements such as 'text','created_at' ... 
    print tweet['text']
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38282733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档