2017-07-25 2 views
0

Hallo, ich versuche das Programmieren für ein Projekt zu lernen.Wie behebe ich diesen Syntaxfehler für ein Tweepy-Skript?

Ich habe an einem einfachen Skript (mit Tweepy) gearbeitet, um Tweets von einer Suche nach einem Schlüsselwort in ein .csv-Format herunterzuladen. Allerdings bekomme ich immer einen Fehler in mehreren Zeilen (von 28 bis 38) und ich weiß nicht, was zu diesem Zeitpunkt falsch ist. Kann mir jemand sagen, was los ist?

hier ist der Code, den ich auf ...

gearbeitet haben
# -*- coding: utf-8 -*- 
#import modules 
import tweepy 
from tweepy import Stream 
from tweepy import OAuthHandler 
from tweepy.streaming import StreamListener 
import unicodecsv 
from unidecode import unidecode 
import csv 

from textblob import TextBlob 

ckey = "XXXXXXXXXXXXXXXXXX" 
csecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
atoken = "XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX" 
asecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 

OAUTH_KEYS = {'consumer_key':ckey, 'consumer_secret':csecret, 'access_token_key':atoken, 'access_token_secret':asecret} 
auth = tweepy.OAuthHandler(OAUTH_KEYS['consumer_key'], OAUTH_KEYS['consumer_secret']) 
api = tweepy.API(auth) 
fName= raw_input("Nombre del Archivo: ")+'.csv' 

for tweet in tweepy.Cursor(api.search, q=('dulceveneno'), since='2014-09-16', until='2017-07-25').items(5): 

    tweet_info = [tweet.author.name.encode('utf8') 
       tweet.author.screen_name.encode('utf8') 
       tweet.created_at 
       tweet.text.encode('utf8') 
       tweet.retweeted 
       tweet.favorited 
       tweet.user.location.encode('utf8') 
       tweet.user.time_zone 
       tweet.geo 
       tweet.entities.get('hashtags')] 

    with open(fName, 'wb') as file: 
     writer = unicodecsv.writer(file, delimiter = ',', quotechar = '"') 
     # Write header row. 
     writer.writerow(["Nombre", 
         "UserName", 
         "Fecha", 
         "Tweet", 
         "Retweet?" 
         "Favs" 
         "Ubicación", 
         "Horario", 
         "Geo", 
         "Hashtags"]) 


      # Write data to CSV. 
      writer.writerow(tweet_info) 


     # Show progress. 
     print("DONE!" % q) 

das Problem ist in der "tweet_info" Teil I guess ...

+0

Können Sie bitte das Protokoll/Fehlermeldung posten? –

+0

es nur markieren diesen Teil und sagt, dass es einen Syntaxfehler in meinem Programm –

Antwort

0

Sie haben nicht den tatsächlichen Fehler geschrieben noch, aber ich kann für tweet_info sehen Sie haben keine Kommas , für die Elemente in der Liste.

es sein sollte:

tweet_info = [tweet.author.name.encode('utf8'), 
      tweet.author.screen_name.encode('utf8'), 
      tweet.created_at, 
      tweet.text.encode('utf8'), 
      tweet.retweeted, 
      tweet.favorited, 
      tweet.user.location.encode('utf8'), 
      tweet.user.time_zone, 
      tweet.geo, 
      tweet.entities.get('hashtags')] 
+0

OH! Ich sehe es jetzt, DANKE !!!! –

+0

Frage als beantwortet markieren, wenn es funktioniert hat – MrJLP

Verwandte Themen