如何解决Instaloader登录时的Checkpoint required报错?
解决Instaloader登录时的Checkpoint重复域名报错问题
问题详情
我按照官方文档编写了以下Instaloader登录代码:
import instaloader import pandas as pd # 创建Instaloader实例 bot = instaloader.Instaloader() bot.login(user="USERNAME", passwd="PASSWORD")
运行后触发如下错误:
Traceback (most recent call last): File "/home/mehdi/insta/insta.py", line 7, in <module> bot.login(user="USERNAME", passwd="PASSWORD") File "/home/mehdi/insta/venv/lib/python3.10/site-packages/instaloader/instaloader.py", line 634, in login self.context.login(user, passwd) File "/home/mehdi/insta/venv/lib/python3.10/site-packages/instaloader/instaloadercontext.py", line 239, in login raise ConnectionException("Login: Checkpoint required. Point your browser to " instaloader.exceptions.ConnectionException: Login: Checkpoint required. Point your browser to https://www.instagram.comhttps://www.instagram.com/challenge/<<HASH>> - follow the instructions, then retry.
登录信息确认正确,怀疑问题源于报错信息中重复的域名链接,如何解决此错误?
解决方案
1. 手动修正校验链接
报错中的链接重复了https://www.instagram.com前缀,手动去除一个,得到正确的校验地址(如https://www.instagram.com/challenge/<<HASH>>)。用浏览器打开该链接,完成Instagram要求的安全验证步骤(比如身份验证、验证码识别等)。
2. 重新执行登录脚本
完成安全校验后,回到本地重新运行登录代码,此时应该可以正常完成登录。
3. 保存会话避免重复校验(可选)
为了避免后续登录再次触发安全校验,登录成功后可以保存会话文件,下次直接加载会话即可:
# 登录成功后保存会话到本地文件 bot.save_session_to_file("insta_session") # 后续启动时加载会话,无需重复输入账号密码 bot.load_session_from_file("USERNAME", "insta_session")
4. 升级Instaloader到最新版本
重复域名的问题可能是旧版本的bug,尝试升级到最新版本修复潜在问题:
pip install --upgrade instaloader
内容的提问来源于stack exchange,提问作者Setare Kalantari
相关产品推荐
相关产品推荐

