Python 如何修复'';推特';对象没有属性';创建于'';当使用twitter API时?
我正在做一些关于公园评估的研究,我使用twitter api获取了一些关于伦敦公园的推文。我可以获取文本、用户id和关注者等,但无法获取推特时间。错误是“Tweet”对象没有属性“created_at”。(created_at实际存在于twitter返回的列表中) 我在jupyter笔记本中使用了pythonPython 如何修复'';推特';对象没有属性';创建于'';当使用twitter API时?,python,api,twitter,tweets,Python,Api,Twitter,Tweets,我正在做一些关于公园评估的研究,我使用twitter api获取了一些关于伦敦公园的推文。我可以获取文本、用户id和关注者等,但无法获取推特时间。错误是“Tweet”对象没有属性“created_at”。(created_at实际存在于twitter返回的列表中) 我在jupyter笔记本中使用了python load_credentials(filename="./search_tweets_creds_example.yaml", yaml_key="search_
load_credentials(filename="./search_tweets_creds_example.yaml",
yaml_key="search_tweets_ent_example",
env_overwrite=False)
{'username': '<MY_USERNAME>',
'password': '<MY_PASSWORD>',
'endpoint': '<MY_ENDPOINT>'}
premium_search_args = load_credentials("~/.twitter_keys.yaml",
yaml_key="search_tweets_premium",
env_overwrite=False)
rule = gen_rule_payload("#Regentpark", results_per_call=100) # testing with a sandbox account
print(rule)
from searchtweets import collect_results
import numpy as np
import pandas as pd
import csv
df = pd.DataFrame(columns = ['Tweets', 'User',
'fav_count', 'rt_count'])
def stream(file_name):
i = 0
for tweet in collect_results(rule,
max_results=1000,
result_stream_args=premium_search_args):
print(i, end='\r')
df.loc[i, 'Tweets'] = tweet.text
df.loc[i, 'User'] = tweet.id
df.loc[i, 'fav_count'] = tweet.favorite_count
df.loc[i, 'rt_count'] = tweet.retweet_count
df.loc[i,'tweet_data']=tweet.created_at
df.to_excel('{}.xlsx'.format(file_name))
i+=1
if i == 1000:
break
else:
pass
stream(file_name='Regentpark')
加载凭据(filename=“./search\u tweets\u creds\u example.yaml”,
yaml_key=“搜索推文”示例“,
env_overwrite=False)
{'username':'',
“密码”:“,
“端点”:“”}
高级搜索参数=加载凭据(“~/.twitter\u keys.yaml”,
yaml_key=“搜索推特”,
env_overwrite=False)
rule=gen_rule_有效负载(“Regentpark”,每次调用的结果=100)#使用沙箱帐户进行测试
打印(规则)
从searchtweets导入收集结果
将numpy作为np导入
作为pd进口熊猫
导入csv
df=pd.DataFrame(列=['Tweets','User',
“fav_计数”、“rt_计数”])
def流(文件名):
i=0
对于collect_结果中的tweet(规则,
最大结果=1000,
结果\u流\u参数=高级\u搜索\u参数):
打印(i,end='\r')
df.loc[i,'Tweets']=tweet.text
df.loc[i,'用户']=tweet.id
df.loc[i,'fav_count']=tweet.favorite_count
df.loc[i,'rt_count']=tweet.retweet_count
df.loc[i,'tweet_data']=tweet.created_at
格式(文件名))
i+=1
如果i==1000:
打破
其他:
通过
流(文件名为Regentpark)
AttributeError:“Tweet”对象在API示例笔记本中没有为其使用的包创建的属性:
tweet.created_at_datetime
这对我来说也很好。以下是指向该示例的链接: