Ich füge Informationen aus Twitter mit Hilfe von Tweepy in eine MySQL-Tabelle ein. Meist funktioniert es aber, der eigentliche Text aus dem Tweet wird abgeschnitten und viele enden mit "..." und ich bin mir nicht sicher warum das so ist.Tweepy-Informationen in MySQL - Text wird abgeschnitten
Ein Beispiel für die Ausgabe ist dies:
@JamesMelville: Bleibt die Wähler nicht „unpatriotisch“ von „sprechen, das Land nach unten“ sind .Seine das Gegenteil. Remainers kümmert sich um Britains fut ...
Danke für Ihre Hilfe
Hier mein Strom-Listener-Klasse ist: (: Ich bin so Python dies wahrscheinlich schlecht ist)
class listener(StreamListener):
def on_data(self, data):
try:
jsonData=json.loads(data)
tweets =(jsonData['text'])
if tweets.startswith('RT'):
retweets = True
else:
retweets = False
tweets = tweets.replace('RT', '')
tweets = tweets.replace("'", '')
tweets = tweets.lstrip()
tweets = tweets.replace('\n', '')
screen_name =(jsonData['user']['screen_name'])
name =(jsonData['user']['name'])
name = name.replace(',', ' ')
language =(jsonData['lang'])
location =(jsonData['place'])
coord =(jsonData['coordinates'])
device = jsonData['source'].split('">')[1].replace('</a>', '')
tweettime = jsonData['created_at'].replace('+', '')
tweettime = datetime.datetime.strptime(tweettime, "%a %b %d %H:%M:%S %f %Y")
date_to_string = str(tweettime.strftime("%Y/%m/%d,%H:%M:%S"))
date_created = date_to_string.split(',')[0]
time_created = date_to_string.split(',')[1]
created_time =(time_created)
created_date =(date_created)
htext = jsonData['entities']['hashtags']
htext2 = []
hashtag_list = ''
for hashtag in htext:
htext=str(hashtag['text'])
hashtag_list = hashtag_list + ' ::' + htext
hashtag_list = hashtag_list.replace("'", "")
conn = connect(host = '', port = , user = ', passwd = '', charset='utf8', autocommit = True);
conn.commit()
cursor = conn.cursor(cursors.DictCursor);
cursor.execute("CREATE DATABASE IF NOT EXISTS twitter")
cursor.execute("USE twitter")
cursor.execute("""CREATE TABLE IF NOT EXISTS `twitter_data`(ID INT AUTO_INCREMENT NOT NULL,`Name` VARCHAR(200) ,`Screen name` VARCHAR(200) , `Date created` VARCHAR (20), `Time created` VARCHAR (8), Tweet VARCHAR (200), Hashtags VARCHAR (200), Retweets VARCHAR (5), Lanugage VARCHAR (20), Device VARCHAR (60), Location VARCHAR(200), Coordinates VARCHAR (200), PRIMARY KEY (ID))""")
sql = "INSERT INTO `twitter_data` VALUES(Null, '" + str(name) + "', '" + str(screen_name) + "', '" + str(created_date) + "', '" + str(created_time) + "', '" + str(tweets) + "', '" + str(hashtag_list) + "', '" + str(retweets) + "', '" + str(language) + "', '" + str(device) + "', '" + str(location) + "', '" + str(coord) + "') "
print(sql)
cursor.execute(sql)
return True
except Exception as N:
print('failed on_data '+ str(N))
time.sleep(5)
Sie ein Beispiel Aufzeichnung Ihrer 'geben müssen ...' Teil (reale Ausgabe von der Konsole kopiert) –
Hier ein Beispiel: @astro_trader: # Brexit ist keine reflexartige Reaktion, sein Ergebnis von 40 Jahren aufgestauter Wut & Frustration der britischen Souveränität vergeben ... – Rpp
oder das: @JamesMelville: bleiben Wähler sind nicht "unpatriotisch" von "das Land reden" .Its die Gegenteil. Remainers kümmern sich um Britains Fut ... – Rpp