微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python提取推文-如何保存数量有限的变量

如何解决使用Python提取推文-如何保存数量有限的变量

我是python的新手,它试图为研究项目提取推文。

我使用图书馆搜索推文。现在,我只想打印来自Twitter的质量中的几个变量。 我只是不明白为什么这段代码会写所有变量-我只想要一个视图变量。 created_at,文本,extended_tweet,用户screen_name,用户名.. 在一般情况下,我真的很想了解如何打印我需要的变量。我真的很绝望,因为我不明白。 以下是可以使用的变量:HERE

#above yaml...keys... 

import json
from searchtweets import load_credentials,gen_rule_payload,ResultStream

premium_search_args = load_credentials("twitter_keys.yaml",yaml_key="search_tweets_api",env_overwrite=False)

rule = gen_rule_payload(SEARCH_QUERY,results_per_call=RESULTS_PER_CALL,from_date=FROM_DATE,to_date=TO_DATE
                        )

rs = ResultStream(rule_payload=rule,max_results=MAX_RESULTS,**premium_search_args)

with open(FILENAME,'a',encoding='utf-8') as f:
    n = 0
    for tweet in rs.stream():
        n += 1
        if n % PRINT_AFTER_X == 0:
            print('{0}: {1}'.format(str(n),tweet['created_at']))
        json.dump(tweet,f)
        f.write('\n')
        
#Use csv writer
csvFile = open('result.csv','a')
csvWriter = csv.writer(csvFile)


for tweet in rs.stream(): # how can I write it into an excel file? the relevant variables. # all variables in rs saved?

    # Write a row to the CSV file. I use encode UTF-8
    csvWriter.writerow([
        tweet.created_at,tweet.text,tweet.extended_tweet
        #tweet.in_reply_to_status_id,])
    print(tweet.created_at,tweet.extended_tweet)

#does not work

非常感谢!!!

Christoph

解决方法

您是否已使用json将“ tweet”变量的内容应用于字典?

,

如果从服务器收到json字符串,则需要使用json库将其转换为字典,以便能够从中获取字典键的值

例如:

import json

# write the server response to the variable
tweet = '''{
 "created_at": "Wed Oct 10 20:19:24 +0000 2018","id": 1050118621198921728,"id_str": "1050118621198921728","text": "To make room for more expression,we will now count all emojis as equal—including those with gender‍‍‍ ‍‍and skin t… https://.../...","user": {},"entities": {}
}'''

dict_tweet = json.loads(tweet) # convert the server response to dict

created_at = dict_tweet['created_at']

print(created_at) # now we can ask him for the value of any key

它显示:“ 2018年10月10日星期三20:19:24 +0000”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。