使用tweepy解析特定内容(例如created_at,favourite_count等)时遇到问题

时间:2019-06-12 12:57:43

标签: api twitter tweepy python-3.7

我目前正在使用Twitter API使用tweepy搜索推文,并且试图解析推文的特定部分,例如created_at,收藏夹,转推,用户ID,ID和推文的文本,但是何时我运行我的代码,什么都没发生?

到目前为止,我已经能够从twitter获得数据并将其以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

我的文本文件/代码如下:Text file

似乎没有错误,因为它运行时没有错误,但是我不太确定如何处理数据。我想的方式是引号中有“行”,因为这是json文件的第一行,其后的所有内容都存储在数组中,对吗?因此,我想要的是用我拥有的项遍历数组的每个部分,并打印出包含这些项的tweet的每个元素。

1 个答案:

答案 0 :(得分:0)

以下代码对我有用。

导入必要的包裹

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)