Python Pinterest 机器人的时间等待问题

The time waiting problem on the Python Pinterest bot

我是一名菜鸟 Python 开发人员,正在尝试做一些小项目来提高自己。现在,我正在其中一个开发 Pinterest 机器人。这个简单的机器人将文件夹中的图像固定到 Pinterest API 的帐户。 API一小时内最多只能加载10个视觉加载,我不想限制文件中的图像数量。我已经尝试了一些东西,但找不到没有错误的方法,因为我没有经验,认为有些东西我看不到。如果你能给我一个想法,我将不胜感激。

带循环的版本:

api = pinterest.Pinterest(token="")
board = ''
note = ''
link = ''

image_list = []
images = open("images.txt", "w")
for filename in glob.glob('images/*.jpg'):
    image_list.append(filename)

i = 0
p = 0
while i < len(image_list):
    if p <= 9 and image_list[i] not in images:
        api.pin().create(board, note, link, image_list[i])
        i += 1
        p += 1
        images.write(image_list[i])
    else:
        time.sleep(3600)
        p = 0
        continue 

带有 def 的版本:

def dude() :
    i = 0
    api = pinterest.Pinterest(token="")
    board = ''
    note = ''
    link = ''
    api.pin().create(board, note, link, image_list[i])
    time.sleep(420)

i = 0
while i < len(image_list):
    dude()
    i += 1
    print(i)

在尝试了很多东西之后,我能够通过重试库解决问题。首先,我使用以下代码安装了库。

$ pip3 install retrying

安装后,我更改了如下代码,机器人开始正常工作,没有任何 API 或时间错误。

from retrying import retry

image_list = []
images = open("images.txt", "w")
for filename in glob.glob('images/*.jpg'):
    image_list.append(filename)

@retry
def dude() :
    api = pinterest.Pinterest(token="")
    board = ''
    note = ''
    link = ''
    api.pin().create(board, note, link, image_list[i])

i = 0
while i < len(image_list):
    dude()
    i += 1
    time.sleep(420)