Instabot KeyError:'urlgen'

Posted

技术标签:

【中文标题】Instabot KeyError:\'urlgen\'【英文标题】:Instabot KeyError: 'urlgen'Instabot KeyError:'urlgen' 【发布时间】:2021-05-06 02:43:08 【问题描述】:

我正在尝试做一个 instagram 机器人,但我只能运行一次代码,它运行良好,但是当我再次尝试时,它给我留下了这个错误 我不会写我的用户并传递这个问题,哈哈

from instabot import *
session = Bot()
session.login(username = "myuser",
              password = "mypass")

我得到了这个错误

2021-02-01 16:07:42,401 - INFO - Instabot version: 0.117.0 Started
Traceback (most recent call last):
  File "C:/Users/EQUIPO/Desktop/5 CUATRI/Phyton/Ejercicios Prueba/nsoe.py", line 3, in <module>
    session.login(username = "nota.niceplace",
  File "C:\Program Files\Python38\lib\site-packages\instabot\bot\bot.py", line 443, in login
    if self.api.login(**args) is False:
  File "C:\Program Files\Python38\lib\site-packages\instabot\api\api.py", line 240, in login
    self.load_uuid_and_cookie(load_cookie=use_cookie, load_uuid=use_uuid)
  File "C:\Program Files\Python38\lib\site-packages\instabot\api\api.py", line 199, in load_uuid_and_cookie
    return load_uuid_and_cookie(self, load_uuid=load_uuid, load_cookie=load_cookie)
  File "C:\Program Files\Python38\lib\site-packages\instabot\api\api_login.py", line 354, in load_uuid_and_cookie
    self.cookie_dict["urlgen"]
KeyError: 'urlgen'

【问题讨论】:

【参考方案1】:

第一次运行此代码时,您需要删除系统自动创建的配置文件夹。 因此,您需要在每次运行代码之前删除此文件夹。 此配置文件夹位于保存文件的同一目录中。

我有同样的问题,我可以通过这种方式解决。

【讨论】:

【参考方案2】:

此代码将自动修复所有问题,您只需更改图像名称和路径。

from instabot import Bot
import os
import shutil


def clean_up(i):
    dir = "config"
    remove_me = "imgs\.REMOVE_ME".format(i)
    # checking whether config folder exists or not
    if os.path.exists(dir):
        try:
            # removing it so we can upload new image
            shutil.rmtree(dir)
        except OSError as e:
            print("Error: %s - %s." % (e.filename, e.strerror))
    if os.path.exists(remove_me):
        src = os.path.realpath("imgs\".format(i))
        os.rename(remove_me, src)


def upload_post(i):
    bot = Bot()

    bot.login(username="your_username", password="your_password")
    bot.upload_photo("imgs/".format(i), caption="Caption for the post")


if __name__ == '__main__':
    # enter name of your image bellow
    image_name = "img.jpg"
    clean_up(image_name)
    upload_post(image_name)

【讨论】:

也许添加一个简短的描述,说明为什么这可以解决他的问题? :) 好的,没问题。第一次你可以只运行 upload_post() 函数,一切都会正常工作,但在你的文件夹中第一次运行结束时,会出现一些垃圾文件(配置文件夹+你刚刚发布的重命名图像),如果你尝试再次运行程序你会得到一个错误。 clean_up() 函数会处理这些问题,它会检查这些垃圾文件是否存在,并在您下次运行 upload_post() 函数之前将其删除。我不知道这些文件出现的确切原因以及它们导致程序崩溃的原因,对于这些信息,您需要联系 instabot 创建者:-)【参考方案3】:

正如拉吉所说。您需要从运行 python 脚本的位置删除这样的配置文件夹。很抱歉做出单独的回答,但对我来说,目前还不清楚这个配置文件夹在哪里,所以我认为它可能会有所帮助。

rm -rf config

不幸的是,图书馆的错误信息很差

【讨论】:

我遇到了同样的问题,我试图每小时发布一张图片,但配置文件在第一次运行后停止了代码的工作。但是在代码运行时我无法删除它,因为正在写入配置文件夹。如果我在帖子之间有 1 小时的等待时间,您的回答会解决我的问题吗? 是的,实际上对我来说它也只能工作一次。现在我只写了一个我运行的 shell 脚本,它首先删除文件夹然后运行脚本。但确实不太理想。我还没有弄清楚如何在不每次都删除文件夹的情况下继续使用机器人【参考方案4】:

不幸的是,instabot 库的维护似乎已停止,请勿尝试使用该库运行任何东西,否则将无法正常工作,并且正如某些用户所评论的那样,可能会危及您的帐户!对不起..

【讨论】:

以上是关于Instabot KeyError:'urlgen'的主要内容,如果未能解决你的问题,请参考以下文章

Instabot:错误 - 请求返回 429 错误

KeyError:Caught KeyError in Dataloader worker process 0. KeyError:‘标签’

Pytorch:“KeyError:在 DataLoader 工作进程 0 中捕获 KeyError。”

为啥 str(KeyError) 添加额外的引号?

为啥我收到此错误? KeyError:“没有”

KeyError : 0 熊猫