使用 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 中填写登录表单