Twitter api python - sys.argv и json - PullRequest
1 голос
/ 15 января 2012

Я нашел это на http://pastebin.com/bqj3bZhG

"""
Simple Python example showing how to parse JSON-formatted Twitter messages+metadata
(i.e. data produced by the Twitter status tracking API)

This script simply creates Python lists containing the messages, locations and timezones
of all tweets in a single JSON file.

Author: Geert Barentsen - 4 April (#dotastro)
"""

import sys
import simplejson
import difflib

# Input argument is the filename of the JSON ascii file from the Twitter API
filename = sys.argv[1]

tweets_text = [] # We will store the text of every tweet in this list
tweets_location = [] # Location of every tweet (free text field - not always accurate or     given)
tweets_timezone = [] # Timezone name of every tweet

# Loop over all lines
f = file(filename, "r")
lines = f.readlines()
for line in lines:
    try:
            tweet = simplejson.loads(line)

            # Ignore retweets!
            if tweet.has_key("retweeted_status") or not tweet.has_key("text"):
                    continue

            # Fetch text from tweet
            text = tweet["text"].lower()

            # Ignore 'manual' retweets, i.e. messages starting with RT             
            if text.find("rt ") > -1:
                    continue

            tweets_text.append( text )
            tweets_location.append( tweet['user']['location'] )
            tweets_timezone.append( tweet['user']['time_zone'] )

    except ValueError:
            pass


# Show result
print tweets_text
print tweets_location
print tweets_timezone

Ну, но я не могу его использовать ...

Насколько я понимаю, я должен импортировать файл json в
filename = sys.argv [1]

, но

import urllib
#twitteruser
user="gigmich"

#open twitter timeline request
filename = sys.argv[urllib.urlopen("https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&contributor_details&include_rts=true&screen_name="+user+"&count=3600")]

, похоже, не работает для меня

Не могли бы вы помочь мне, если мне нужно вставить JSONфайл

спасибо за помощь !!!!

1 Ответ

2 голосов
/ 15 января 2012

Я думаю, что вы перепутали со значением sys.argv[1].В ссылке pastebin упоминается, что

Входным аргументом является имя файла ascii JSON из Twitter API

filename = sys.argv [1]

Итак, сначала вы должны загрузить файл json ascii, используя твиттер API, а затем передать его в качестве аргумента при вызове своего скрипта следующим образом:

python myscript.pyjsonfile

здесь jsonfile == sys.argv [1]

и myscript.py == sys.argv [0]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...