无需InstaLoader与账号登录,Python如何获取Instagram粉丝列表?
无需登录获取Instagram公开账号粉丝列表的解决方案
针对你开发每日统计工具时遇到的登录被标记可疑的问题,以下是无需登录环节的可行方案,仅适用于公开Instagram账号(私有账号因权限限制,无授权登录无法获取粉丝列表):
1. 基于网页爬虫的无登录抓取
Instagram的公开账号粉丝页面可通过浏览器直接访问,你可以用自动化工具模拟浏览器行为,提取公开显示的粉丝数据。以下是使用Playwright的示例代码:
from playwright.sync_api import sync_playwright import random import time def scrape_public_followers(target_username, scroll_times=3): with sync_playwright() as p: # 随机User-Agent避免被识别 user_agents = [ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15" ] browser = p.chromium.launch(headless=True) page = browser.new_page(user_agent=random.choice(user_agents)) try: page.goto(f"https://www.instagram.com/{target_username}/followers/", timeout=10000) time.sleep(random.uniform(2, 4)) # 随机延迟 # 滚动加载更多粉丝(Ins会动态加载内容) for _ in range(scroll_times): page.evaluate("window.scrollTo(0, document.body.scrollHeight)") time.sleep(random.uniform(1.5, 3)) # 提取粉丝用户名(过滤掉按钮文本) follower_elements = page.locator('div.x9f619.xjbqb8w.x78zum5.x168nmei.x13lgxp2.x5pf9jr.xo71vjh.x1uhb9sk.x1plvlek.xryxfnj.x1c4vz4f.x2lah0s.xdt5ytf.xqjyukv.x1qjc9v5.x1oa3qoh.x1nhvcw1').all_text_contents() followers = [name for name in follower_elements if name not in ["Follow", "Following", "Requested"]] return followers finally: browser.close() # 使用示例 if __name__ == "__main__": target = "example_public_account" followers = scrape_public_followers(target) print(f"获取到{len(followers)}个粉丝:{followers[:10]}")
注意事项:
- 需安装依赖:
pip install playwright,然后运行playwright install chromium - 必须控制请求频率,加入随机延迟,避免触发Ins的反爬机制导致IP被封
- Ins随时可能修改页面DOM结构,需要定期调整元素定位器
- 这种方法只能获取页面上加载的粉丝,无法获取完整列表(Ins会限制未登录状态下的内容展示量)
2. Instagram Graph API(仅针对商业/创作者公开账号)
如果目标账号是Instagram Business或Creator账号,你可以通过官方Graph API获取粉丝数据,无需用个人账号登录,但需要完成以下步骤:
- 创建Facebook开发者账号,注册应用并申请
pages_show_list、instagram_basic、user_followers权限 - 让目标账号的管理员授权你的应用访问其账号数据
- 调用
/{ig-user-id}/followers端点获取粉丝列表
局限性:
- 仅支持商业/创作者账号,普通个人公开账号无法通过此API获取粉丝
- 需目标账号主动授权,无法批量抓取任意公开账号
关键提醒
无论使用哪种方法,都必须遵守Instagram的服务条款,禁止批量高频抓取。如果是私有账号,没有账号授权的情况下,完全无法获取其粉丝列表,这是Instagram的权限机制限制,没有绕过方案。
内容的提问来源于stack exchange,提问作者Ryan Vogel
相关产品推荐
相关产品推荐

