Проблемы с синтаксическим анализом конкретных вещей, таких как created_at, favourite_count и т. Д., С использованием tweepy

В настоящее время я использую Twitter API для поиска твитов с помощью tweepy, и я пытаюсь проанализировать определенные части твита, такие как created_at, избранное, ретвиты, идентификатор пользователя, идентификатор и текст твита, но когда я запускаю свой код, ничего не происходит?

Пока мне удалось получить данные из твиттера и поместить их в формате json, у меня есть текстовый файл с этими данными, поэтому, когда я его вызываю, он должен перебирать этот файл и извлекать определенные элементы для каждого твита. .

Вот код того, что я пытаюсь выполнить, разбираясь с умом.

filename = "clipboard2.txt"
jsonfile = open(filename, "r")
for line in jsonfile:
try:
    rows = json.loads(line.strip())
    if 'text' in rows:  # only messages contains 'text' field is a tweet
        print("rows"['id'])  # This is the tweet's id
        print(["rows"]['created_at'])  # when the tweet posted
        print(rows["rows"]['text']) # content of the tweet
        print(rows["rows"]['retweet_count'])
        print(rows["rows"]['favorite_count'])
        print["rows"]["user-id"]  # id of the user who posted the tweet
        print(rows["rows"]['user']['name'])  # name of the user, e.g. "Wei Xu"
        print(rows["rows"]['user']['screen_name'])
except:
    continue

Мой текстовый файл / код выглядит так: Текстовый файл

Кажется, что ошибки нет, поскольку он работает без ошибок, но я не слишком уверен, как обрабатывать данные. Я думаю, что у меня есть «строки» в кавычках, потому что это первая строка json-файла и все, что следует за ней, хранится в массиве, правильно? Итак, я хочу, чтобы он перебирал каждую часть массива с элементами, которые у меня есть, и распечатывал каждый элемент твита, в котором они есть.


person JG3356    schedule 12.06.2019    source источник


Ответы (1)


У меня работает следующий код.

ИМПОРТ НЕОБХОДИМЫХ ПАКЕТОВ

from tweet_parser.tweet import Tweet
from tweet_parser.tweet_parser_errors import NotATweetError

PARSE

filename = "tweet_data.txt"
jsonfile = open(filename, "r")
for line in jsonfile:    
    try:
        if not line.strip(): continue # skips the empty lines, if any
        tweet_dict = json.loads(line)
        tweet = Tweet(tweet_dict)
    except:
        pass
    if tweet.text != None:
        print(tweet.id)  # This is the tweet's id
        print(tweet.created_at_datetime)  # when the tweet posted
        print(tweet.text) # content of the tweet
        print(tweet.retweet_count)
        print(tweet.favorite_count)
        print(tweet.user_id)
        print(tweet.screen_name)
person Debjit Bhowmick    schedule 13.06.2019