2

我正在制作我的第一个 Instagram 机器人,但它并没有完全工作。它在喜欢该帖子之前停止工作。

这是错误。

Traceback (most recent call last):
  File "C:\Users\Aniket\PycharmProjects\insta_bot1\main.py", line 9, in <module>
    session.like_by_tags(['photography', 'lighting', 'nature'], amount = 3)
  File "C:\Python3.9\lib\site-packages\instapy\instapy.py", line 1957, in like_by_tags
    inappropriate, user_name, is_video, reason, scope = check_link(
  File "C:\Python3.9\lib\site-packages\instapy\like_util.py", line 633, in check_link
    media = post_page[0]["shortcode_media"]
KeyError: 0

Process finished with exit code 1

这是我的代码。

from instapy import InstaPy

session = InstaPy(username = 'insta_bot._1', password = '####')
session.login()

session.set_relationship_bounds(enabled = True, max_followers = 150)

session.set_do_follow(True, percentage = 100)
session.like_by_tags(['photography', 'lighting', 'nature'], amount = 3)

session.end()

请帮助我解决错误。

4

3 回答 3

2

我有同样的错误,它源于 Instagram 更改网站源中的位置,他们存储您的 InstaPy 机器人寻找的帖子信息(我也是 InstaPy 新手,请不要对这个答案的具体性评判我太苛刻)。

它已在Michael链接的问题中得到修复,并已合并到 GitHub 上的 InstaPy master,但它未包含在我使用 IDE 下载的库的最新版本中。

您现在可以做的最简单的事情(无需等待包含这些更改的软件包的新版本)是从此处下载主文件,并将您计算机(或您创建该机器人的任何位置)上的文件替换为来自您下载的 repo 中的 instapy 文件夹。

在这里您可以找到有关修复的更多信息。

于 2021-08-03T12:09:54.180 回答
0

所以我发现了问题,它是由于 instagram 导致他们更改了源代码。所以去like_util.py文件然后行619

然后通过以下方式更改代码:

 media = post_page ['items'] [0]
 is_video = media ["is_unified_video"]
 user_name = media ["user"] ["username"]
 image_text = media ["caption"] ["text"]
 owner_comments = "",
 user_nmame,
于 2022-02-18T16:20:29.520 回答
0

@zaqo 我尝试将我的代码更改为您的编辑,但不幸的是我收到了这个错误:

Traceback (most recent call last):
  File "insta2.py", line 142, in <module>
    session4.like_by_tags(tags, skip_top_posts=True, amount=n1()) 
  File "/usr/local/anaconda3/lib/python3.7/site-packages/instapy/instapy.py", line 1990, in like_by_tags
    self.logger,
  File "/usr/local/anaconda3/lib/python3.7/site-packages/instapy/like_util.py", line 647, in check_link
    image_text = image_text + "\n" + owner_comments
于 2022-02-23T14:25:02.047 回答