Ich habe diesen Python-Code, der Daten von Twitter mit Tweepy und Streming APIs abruft und es stoppt, wenn 1000 Ergebnisse (das ist 1000 Tweets Daten) gefunden hat. Es funktioniert gut, aber das Problem ist, dass, wenn ich versuche, es auf PyCharm auszuführen, es einen Teil der Ergebnisse schneidet. Da der Code alle Daten eines Tweets (ID, Text, Author usw.) zurückgibt, erzeugt er möglicherweise zu viele Daten und die Software verknallt sich. So würde Ich mag den Code, um te ändert nur einige Felder der Twitter-Daten zu erhalten (zum Beispiel. Ich brauche nur den Text des tweet, den Autor, das Datum) Jeder Vorschlag ist willkommenTweepy Streaming Filter Felder
# 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
meine PyCharm druckt alle Daten von 1000 Tweets aber, wenn der Prozess beendet ist, und ich versuche, nach oben zu rollen die Daten finde ich heraus, dass abgeschnitten sind, wie die Speicher-Software nicht in der Lage war, alle Daten zu behalten, und ich verstehe warum! Außerdem ist das nicht möglich das sind Probleme mit dem RAM meines Notebooks, der 16 GB RAM hat. Aber wie kann ich tun, wenn für z. Ich möchte die Spalte "screen_name" erhalten, die in der Spalte "user" verschachtelt ist? –
@AndreaAngeli Die Struktur ist ein Lexikon des Wörterbuchs. Um auf 'screen_name' zuzugreifen, könnten Sie' print tweet ['user'] ['screen_name'] '' verwenden –