python - 通过 API 访问数据后,如何自动化推文?
问题描述
我正在编写一个 twitter 机器人,但在此过程中我遇到了挑战。
该代码将从 API 获取数据并每天发布数据。不幸的是,我无法让最后一行的返回函数正常工作,它实际上会发送推文。
import urllib.request
from pprint import pprint
import json
import datetime
import tweepy
import time
import os
import logging
def importVax():
link = 'https://data.ontario.ca/api/3/action/datastore_search?resource_id=8a89caa9-511c-4568-af89-7f2174b4378c&limit=100'
query = urllib.request.urlopen(link)
query = json.loads(query.read())
for r in query['result']['records']:
date = datetime.datetime.strptime(r['report_date'][0:10], "%Y-%m-%d").date()
previous_day_admin = r['previous_day_doses_administered']
total_admin = r['total_doses_administered']
total_complete = r['total_vaccinations_completed']
if previous_day_admin == '':
previous_day_admin = 0
print(date, previous_day_admin, total_admin)
if __name__ == '__main__':
importVax()
consumer_key = 'REDACTED'
consumer_secret ='REDACTED'
access_token = 'REDACTED'
access_token_secret = 'REDACTED'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
def daily_update(date, previous_day_admin, total_admin, total_complete):
message = str(
f'''
[{date}]
Doses Administered: {previous_day_admin}
Total Completed Vaccinations: {total_complete}
% Immune: {round(total_complete/14570000)}
'''
)
return api.update_status(message)
解决方案
推荐阅读
- matlab - MATLAB fsolve 超过 100 个时间段
- flutter - 颤振:找不到方法:ButtonTheme.bar
- jquery - JPA,Spring Boot - 按类别获取产品(规格)
- excel - Excel函数获取两列之间的日期并检查B列中的唯一值
- c# - Jetbrains Rider 是否有类似在 Visual Studio 调试器中查看反汇编代码的功能
- spring - @Component 和 @Autowired 没有解析依赖的 bean
- python - Odoo 14 Picking Operations 报告按位置名称排序
- google-cloud-platform - 访问 Google Cloud Storage 存储分区
- java - Redshift:当源表中有自动排序键时,创建表失败
- smooks - Smooks 使用 Java 对象生成 EDI