如何获取Instagram账号首条帖子日期并导出含该信息的CSV文件?
实现Instagram用户名与首条帖子日期导出CSV的方案
依赖安装
首先安装所需的Python库:
pip install instagrapi pandas
核心代码实现
以下代码可批量获取指定用户名的首条帖子发布日期,并导出为CSV文件:
from instagrapi import Client import pandas as pd import time # 初始化客户端 cl = Client() # 登录你的Instagram账号(建议用闲置账号,避免主账号触发风控) try: cl.login("你的Instagram用户名", "你的Instagram密码") except Exception as e: # 若遇验证,可先运行一次生成会话文件,后续用会话登录 # cl.load_settings("session.json") # cl.login("你的Instagram用户名", "你的Instagram密码") # cl.dump_settings("session.json") print(f"登录失败: {e}") exit() def get_first_post_date(username): """获取指定用户的首条帖子发布日期""" try: user_id = cl.user_id_from_username(username) # 获取用户全部帖子(按发布时间倒序,最后一条即为最早发布的) medias = cl.user_medias(user_id, amount=0) if not medias: return "无帖子" # 转换为可读的日期格式 first_post_date = medias[-1].taken_at.strftime("%Y-%m-%d %H:%M:%S") return first_post_date except Exception as e: print(f"处理用户 {username} 时出错: {e}") return "获取失败" # 替换为你要查询的用户名列表 target_usernames = ["username1", "username2", "username3"] # 收集数据 data = [] for username in target_usernames: print(f"正在处理: {username}") first_date = get_first_post_date(username) data.append({"用户名": username, "首条帖子发布日期": first_date}) time.sleep(2) # 添加延迟,降低风控概率 # 导出CSV文件 df = pd.DataFrame(data) df.to_csv("instagram_first_post_dates.csv", index=False, encoding="utf-8-sig") print("CSV文件已成功导出!") # 登出账号 cl.logout()
关键注意事项
- 账号安全:Instagram对自动化请求管控严格,建议使用闲置账号操作,避免主账号被封禁;务必添加合理延迟(2-5秒),不要高频请求。
- 私密账号限制:若目标用户设置为私密账号且你未关注对方,将无法获取其帖子数据,会标记为"获取失败"。
- 无帖子账号:此类账号无法通过帖子判断创建时间,代码会标记为"无帖子"。
- 会话复用:首次登录若遇到短信验证,可使用代码中注释的会话文件功能,后续登录无需重复验证。
内容的提问来源于stack exchange,提问作者Jack Truax
相关产品推荐
相关产品推荐

