尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Instagram 数据爬取完整指南:一条命令抓取粉丝数与帖子标签,还能 24 小时无人值守

Instagram 数据爬取完整指南:一条命令抓取粉丝数与帖子标签,还能 24 小时无人值守 Instagram 数据爬取完整指南:一条命令抓取粉丝数与帖子标签,还能 24 小时无人值守【免费下载链接】instagram-profilecrawl quickly crawl the information (e.g. followers, tags etc...) of an instagram profile.项目地址: https://gitcode.com/gh_mirrors/inst/instagram-profilecrawlinstagram-profilecrawl 是一个无需登录的 Instagram 数据爬取工具:输入用户名,它就用浏览器模拟访问,把资料、帖子、标签、点赞与评论全部抓取下来,存成结构化 JSON。跑上一周定时任务,你还能直接拿到粉丝增长曲线的数据表。你会拿到什么跑一次命令,项目目录下会多出三类产出物:产出物位置内容资料 JSONprofiles/{用户名}.json粉丝数、关注数、帖子数,以及每篇帖子的文案、发布时间、图片链接、地点、标签、点赞数、评论评论者名单profiles/{用户名}_commenters.txt所有评论过的用户,按评论频率排序增长报表stats.csv每次运行的时间戳、粉丝数、关注数、帖子数、总点赞、总评论粉丝数 1950、帖子 127 篇的账号,JSON 里大致长这样:{ username: grossertim, num_of_posts: 127, followers: 1950, following: 310, posts: [ { caption: It was a good day, date: 2018-04-26T15:07:32.000Z, tags: [#fun, #good, #goodday, #happy], likes: 284, comments: {count: 0, list: []} } ] }所有字段都是结构化数据,可以直接喂给 pandas、Excel 或任何报表工具。三步完成首次 Instagram 资料爬取第 1 步:克隆并安装依赖git clone https://gitcode.com/gh_mirrors/inst/instagram-profilecrawl cd instagram-profilecrawl pip install -r requirements.txt依赖里核心是selenium(用真实浏览器驱动页面)和requests,装完即可。第 2 步:放入浏览器驱动工具靠 Chromedriver 驱动 Chrome。从 Chromedriver 官方渠道下载与你 Chrome 版本匹配的版本,把可执行文件放进项目根目录的assets/文件夹即可。项目里的scripts/unix.sh和scripts/windows.ps1是现成的环境准备脚本,可以参考它们自动下载并摆放驱动。第 3 步:运行爬取python3 crawl_profile.py instagram也支持一次传多个账号:python3 crawl_profile.py user1 user2 user3看到终端打印Finished. The json file and nicknames ... saved in profiles directory就说明成功了,打开profiles/instagram.json核对数据即可。到这里,你已经能手动抓取任意公开账号的全部资料。原理速览:三类文件串起整条链路工具的结构很轻,理解三类文件就够:角色文件职责调度入口crawl_profile.py读取命令行用户名,启动浏览器,逐个账号提取并落盘参数中心util/settings.py一个Settings类集中控制爬取规模、间隔、输出开关数据输出util/datasaver.py把提取结果写成 JSON 和评论者文本流程是单向的:命令行传入用户名 → Selenium 打开账号主页 →util/extractor.py与util/extractor_posts.py分别提取资料页和帖子详情 → 写入profiles/。后续想深入后端逻辑,读这两个 extractor 文件收益最大。场景一:用 crontab 自动产出粉丝增长报表stats.csv每行记录的字段是:时间戳、用户名、粉丝数、关注数、帖子数、总点赞、总评论。每天抓一次,数据表自然长成增长曲线。关键在于两个脚本的执行顺序:先crawl_profile.py,再log_stats.py。统计脚本会把处理完的资料 JSON 移进profiles/done/,避免同一份数据被重复计入。编辑定时任务:crontab -e加入两行,3 点爬取,3 点 05 分统计:0 3 * * * cd /path/to/instagram-profilecrawl python3 crawl_profile.py competitor_a crawl_log.txt 21 5 3 * * * cd /path/to/instagram-profilecrawl python3 log_stats.py -u competitor_a stats_log.txt 21log_stats.py -u 用户名:只统计指定账号;不带参数则统计profiles/下所有账号。一周后打开stats.csv,第一列到第五列就是时间序列上的粉丝数,画图即可。场景二:一条命令批量下载帖子图片JSON 里每篇帖子都有图片链接,想要本地备份素材,无需自己解析:python3 extract_image.py profiles参数是资料目录路径(默认就是profiles),图片会保存到images/{用户名}/下。脚本自动跳过没有帖子的账号,遇到非 JSON 文件会提示Unsupported file type。适合做素材归档、或离线分析哪些帖子配图风格带来了更多互动。场景三:在树莓派或无图形界面上跑默认入口依赖 Chrome,但项目内置了 crawl_profile_pi.py 的树莓派版本(基于 Firefox 虚拟显示),无桌面环境也能运行:sudo apt-get install firefox-esr sudo pip3 install pyvirtualdisplay python3 crawl_profile_pi.py target_user它通过pyvirtualdisplay(虚拟屏幕)驱动 Firefox,其余产出与主入口一致。跑在 24 小时通电的小主机上,就是现成的无人值守采集节点。进阶:util/settings.py 里值得动的 5 个开关所有可调项集中在util/settings.py的Settings类,改默认值,或在运行前给Settings重新赋值即可,无需动源码:开关默认值作用limit_amount1000每个账号最多分析的帖子数,大号可调大sleep_time_between_post_scroll14.5帖子滚动间隔(秒),弱网或被风控时调大scrape_posts_likersFalse额外抓取每篇帖子的点赞用户名单,耗时很长scrape_followerFalse抓取关注者列表,必须登录且账号已关注目标output_commentsFalse把完整评论内容写进 JSON登录属于可选功能:把.env.example复制为.env,填入IG_USERNAME和IG_PASSWORD,工具会自动登录。登录后还能访问你已关注的私密账号。模板脚本quickstart_templates/crawl_profile_with_login.py演示了完整的登录写法;想只抓资料不抓帖子,可参考crawl_profile_without_posts.py。提醒:登录和拉取关注者都请用小号并控制频率,scrape_posts_likers每批只加载 12 个用户,开启后整体耗时会显著增加。排错:遇到这几种现象怎么处理启动即报驱动相关异常→ Chromedriver 缺失或与 Chrome 版本不匹配。重新下载匹配版本放入assets/;树莓派用户改走crawl_profile_pi.py路线,并确认 geckodriver 已就位。爬取中途失败、长时间无响应→ 多为滚动间隔太短触发风控或网络超时。把sleep_time_between_post_scroll从 14.5 逐步加到 25 再试。登录后仍抓不到关注者→ 确认Settings.scrape_follower True,且登录账号确实已关注目标;超大账号上该功能本身也不稳定,可重试。stats.csv 里没有新数据→log_stats.py必须在爬取完成后执行,且只处理profiles/下未归档的 JSON;检查是否漏跑或顺序反了。深入阅读与模板quickstart_templates/下有 5 个可直接改的模板:登录版、树莓派版、只抓粉丝、只抓资料不抓帖子、以及纯数据解析脚本parse_instagram.py,适合把爬取逻辑嵌进自己的项目。util/extractor.py、util/extractor_posts.py是字段提取的核心,想知道 JSON 里每个字段怎么来的,从这里读起。util/instalogger.py控制日志行为,Settings.log_output_tofile为True时日志写入logs/。下一步今天就跑通第一条python3 crawl_profile.py 任意账号,确认profiles/下生成了 JSON。配置上面那两条 crontab,一周后打开stats.csv画出第一张粉丝增长曲线——数据底座就位,剩下的交给你的分析工具。【免费下载链接】instagram-profilecrawl quickly crawl the information (e.g. followers, tags etc...) of an instagram profile.项目地址: https://gitcode.com/gh_mirrors/inst/instagram-profilecrawl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表