Python Tweepy Bot,随机鸣叫图像和相应的文本标题

问题描述 投票:0回答:1

我正在尝试制作一个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)

您可以看到,所有操作都是选择一条随机行作为推文,并设置图像。但是,我试图实现选择带有相应文本的随机图像,反之亦然。那就是:应该有一个对应于每个图像的特定文本行,但是我不确定该如何处理。

python twitter bots tweepy
1个回答
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)

然后其余部分与您的代码相同:从加载的列表中随机选择一个项目。

© www.soinside.com 2019 - 2024. All rights reserved.