使用 python 脚本获取 Instagram 关注者列表

Posted

技术标签:

【中文标题】使用 python 脚本获取 Instagram 关注者列表【英文标题】:Get Instagram followers list with python script 【发布时间】:2020-10-26 15:58:32 【问题描述】:

我是 python 编程的初学者,我想将我的 Instagram 关注者和关注列表导出到 excel 文件中。在谷歌上搜索我发现了这个post。我将下面的代码粘贴:

# Get instance
import instaloader
L = instaloader.Instaloader()

# Login or load session
L.login(username, password)        # (login)


# Obtain profile metadata
profile = instaloader.Profile.from_username(L.context, "prada")

# Print list of followees
follow_list = []
count=0
for followee in profile.get_followers():
    follow_list.append(followee.username)
    file = open("prada_followers.txt","a+")
    file.write(follow_list[count])
    file.write("\n")
    file.close()
    print(follow_list[count])
    count=count+1
# (likewise with profile.get_followers())

我编辑的只是“登录或加载会话”部分的用户名和密码以及“获取配置文件元数据”部分的“prada”。所以我的代码是这样的:

# Login or load session
L.login("myusername", "mypassword")        # (login)


# Obtain profile metadata
profile = instaloader.Profile.from_username(L.context, "myusername")

虽然我重置了密码,但我仍然收到以下错误:

Traceback (most recent call last):
  File "D:/ ..... /insta_followers.py", line 6, in <module>
    L.login("myusername", "mypassword")        # (login)
  File "C:\Users\Myuser\AppData\Local\Programs\Python\Python38-32\lib\site-packages\instaloader\instaloader.py", line 483, in login
    self.context.login(user, passwd)
  File "C:\Users\Myuser\AppData\Local\Programs\Python\Python38-32\lib\site-packages\instaloader\instaloadercontext.py", line 254, in login
    raise BadCredentialsException('Login error: Wrong password.')
instaloader.exceptions.BadCredentialsException: Login error: Wrong password.

我 100% 密码有效,因为我在浏览器中进行了测试。我的密码包含大小写字母、数字和符号。由于密码中的字符之一,可能会出现此错误?或者可能是因为我最近重置了密码?你能给我一些建议吗?

我正在使用 PyCharm Community 2020.2 和 Python 3.8。

谢谢

L.E.

我的最终代码如下所示:

# Get instance
import instaloader

L = instaloader.Instaloader()

# Login or load session
username = "myusername"
password = "mypassword"
L.login(username, password)  # (login)

# Obtain profile metadata
profile = instaloader.Profile.from_username(L.context, username)

# Print list of followees
follow_list = []
count = 0
for followee in profile.get_followers():
    follow_list.append(followee.username)
    file = open("prada_followers.txt", "a+")
    file.write(follow_list[count])
    file.write("\n")
    file.close()
    print(follow_list[count])
    count = count + 1
# (likewise with profile.get_followers())

【问题讨论】:

为确保密码没有意外的转义字符,请将r放在密码前面(例如r'password' 我按照您告诉我的方式尝试过,但仍然无法正常工作。 # 登录或加载会话 username = 'myusername' password = r'mypassword' L.login(username, password) # (login) 超过 24 小时仍无法正常工作,我得到同样的错误,非常令人沮丧。我该怎么办? 如果你用你正在运行的确切代码更新你的帖子(当然省略了凭据)我会运行它,看看我得到了什么。你在什么环境下运行这个?您是否启用了 2FA? 好的 :( 非常感谢您的帮助 【参考方案1】:

我使用我自己的 Instagram 帐户完全复制了您的代码,并且它有效。检查您的密码是否作为原始字符串输入,看看是否有任何影响。

password = r'********'

稍微透露一下你的新密码的一些细节,哈哈,可能是你有一个或两个反斜杠,需要忽略!

【讨论】:

我尝试使用 r" 但仍然无法正常工作,同样的错误。# 登录或加载会话 username = 'myusername' password = r'mypassword' L.login(username, password) # (login) I对编程不太了解,但我在想可能是因为我今天重置了密码,并且尚未在所有 instagram 数据库中更新。也许我说的是愚蠢的,但有这种可能吗? 对我来说听起来不太愚蠢。找不到任何关于它的信息。 超过 24 小时仍无法正常工作,我得到同样的错误,非常令人沮丧。我该怎么办? 正如其他人所说,您的帐户是否启用了 2fa?我不知道那是 Instagram 上的东西,但如果是,并且如果你启用了它,它可能会搞砸。 您需要禁用双重身份验证。如果您将其用作要包含在项目中的模块,请添加提及这一点的免责声明。我测试了两个帐户:一个有 2fa,一个没有。没有任何问题的工作没有任何问题,但是登录过多会阻止您的帐户。使用 2fa,您将永远不会被暂停,但一些 hacky 代码可以让您进入。

以上是关于使用 python 脚本获取 Instagram 关注者列表的主要内容,如果未能解决你的问题,请参考以下文章

Instagram登录脚本与selenium,无法执行.send_keys('test')

使用 Selenium 和 Python 在 Instagram 通知中单击“现在不”

向下滚动列表 instagram selenium 和 python

使用 selenium 和 webdriver (chrome) python OSX 在 Instagram 中填写登录表单

如何获取 Instagram 图片详细信息

如何在 python 中抓取 Instagram 帐户信息