我正在尝试制作一个Tweepy机器人,该机器人会从文件夹中随机选择一个图像,并用文本文件中的相应标题发布该图像,然后通过睡眠在设定的间隔内重复执行。我之前没有使用过python或任何其他编码语言,所以我对如何完成此工作一无所知。到目前为止,我有这个:
import tweepy
from time import sleep
import random
print('Twitter Bot')
CONSUMER_KEY = 'XXXXXXX'
CONSUMER_SECRET = 'XXXXXXX'
ACCESS_KEY = 'XXXXXXX'
ACCESS_SECRET = 'XXXXXXX'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
filename = open('tweets.txt','r')
file_lines = filename.readlines()
filename.close()
media_list = list()
response = api.media_upload('image.png')
media_list.append(response.media_id_string)
randomChoice = random.randrange(len(file_lines))
print (file_lines[randomChoice])
api.update_status(status=file_lines[randomChoice], media_ids=media_list)
您可以看到,所有操作都是选择一条随机行作为tweet文本,然后设置一个图像。但是,我试图实现选择带有相应文本的随机图像,反之亦然。那就是:应该有一个对应于每个图像的特定文本行,但是我不确定该怎么做。
答案 0 :(得分:0)
首先将您的信息存储在.json
文件中,如下所示:
[
{
"text": "hi",
"image": "/image1.jpg"
},
{
"text": "hello",
"image": "/image2.jpg"
}
]
然后将其作为列表加载到Python中:
import json
with open('test.json', 'r') as f:
info = json.load(f)
然后其余部分与您的代码相同:从加载的列表中随机选择一个项目。