instagram-location-search × instagram-scraper联动实战:批量下载指定地点全部照片
instagram-location-search × instagram-scraper联动实战:批量下载指定地点全部照片
【免费下载链接】instagram-location-searchFinds Instagram location IDs near a specified latitude and longitude.项目地址: https://gitcode.com/gh_mirrors/in/instagram-location-search
Instagram 上有大量带地理位置标签的照片,想要按"某个地点"批量收集它们,传统做法只能一页页手动翻,效率极低。而 instagram-location-search 正是解决这个痛点的 Python 位置搜索工具:只需给它一个经纬度坐标,它就会自动查询该地点附近的所有 Instagram Location ID,再配合 instagram-scraper 就能一键批量下载指定地点的全部照片。本文用最通俗的语言,从安装、获取 Cookie 到最终跑通下载,带你完成一次完整的联动实战。
联动原理:从经纬度到批量下载照片的完整链路
两个工具各司其职,配合起来形成一条完整的"数据流水线":
- instagram-location-search 负责"定位"——根据经纬度搜索附近地点的 ID 列表;
- instagram-scraper 负责"搬运"——拿着这些 Location ID,把该地点下的全部照片与元数据下载到本地。
核心逻辑其实就藏在项目源码里:get_instagram_locations()调用 Instagram 内部的地点搜索接口,把附近的地点信息拉回来(见 instagram_locations.py),而--ids参数会把所有地点 ID 导出成一行一个的文本文件,正好是 instagram-scraper 需要的输入格式。
上面这张图就是 instagram-location-search 的可视化输出:它以 Leaflet 地图展示搜索到的所有 Instagram 地点,点击标记还能直接跳转到对应的地点主页,是不是很直观?
第一步:一键安装两个工具
两个工具都是 Python 包,安装非常简单:
pip install instagram-location-search pip install instagram-scraper安装完成后,在终端输入instagram-location-search即可看到命令帮助。如果想体验最新代码,也可以克隆仓库后本地安装:
git clone https://gitcode.com/gh_mirrors/in/instagram-location-search cd instagram-location-search && pip install -e .第二步:快速获取 Instagram Cookie 的两种方法
Instagram 的地点搜索接口需要登录态,也就是 Cookie。好消息是 instagram-location-search 提供了两种获取方式:新版自动化流程和旧版手动流程,总有一种适合你。
方法一:自动化获取 Cookie,30 秒弹出浏览器登录
从 1.x 版本开始,只需在命令中省略--cookie参数,工具就会通过 Selenium 自动打开一个 Chrome 窗口,你只需手动登录一次即可(对应源码 get_insta_cookies())。
按以下步骤操作即可:
- 首次运行时,Chrome 会弹出"新建配置文件"界面,点击右上角的Add按钮创建新配置;
- 点击Continue without an account,跳过登录 Chrome 账号的步骤;
- 为配置起个名字(比如 "Instagram"),点击Done完成创建;
- 弹出 Cookie 询问窗口时,选择Only allow essential cookies(仅允许必要 Cookie);
- 在随后出现的登录页输入你的 Instagram 账号密码并登录,浏览器检测到登录成功后会自动关闭,Cookie 也就自动获取完毕了。
之后每次运行,工具都会复用这个 Chrome 配置,无需重复登录。注意:Instagram 的 sessionid 等同于账号密码的权限,请务必妥善保管,不要外泄或在多台设备共用。
方法二:手动从开发者工具复制 Cookie
老版本或偏好手动操作的用户,可以用 Chrome 开发者工具获取完整 Cookie 字符串:
- 在 Chrome 中登录 Instagram 后,按F12打开开发者工具,切到Application(应用)标签页;
- 在左侧Cookies下选中
https://www.instagram.com,即可看到 Cookie 列表;
- 切到Network(网络)标签页,刷新页面后点击任意请求,在Headers → Request Headers中找到
cookie:那一行;
- 复制
cookie:后面的全部内容,作为命令里的--cookie参数值即可。
第三步:按经纬度搜索地点并导出 Location ID
现在开始真正的实战。以美国亚利桑那州图森市为例(北纬 32.22,西经 -110.97),运行以下命令搜索附近地点,并把全部 Location ID 写入location_ids.txt:
instagram-location-search --lat 32.22 --lng -110.97 --ids location_ids.txt如果走了手动 Cookie 流程,则加上参数:
instagram-location-search --cookie "<你的Cookie>" --lat 32.22 --lng -110.97 --ids location_ids.txt命令跑完后,location_ids.txt里每一行就是一个地点 ID,这正是给 instagram-scraper 的"弹药"。
💡 小技巧:加上
--more参数会启用模糊搜索,以中心点周围 5×5 的网格进行多点查询(见源码 get_fuzzy_locations()),能搜到更多周边地点,适合"地毯式"收集。
第四步:配置 instagram-scraper 账号凭据
地点下载需要登录态的请求,先把账号密码写入凭据文件:
echo "-u=你的用户名" >> creds.txt echo "-p=你的密码" >> creds.txt⚠️ 注意:
creds.txt包含明文密码,请勿提交到代码仓库或分享给他人。
第五步:批量下载指定地点的全部照片
万事俱备,执行下面的命令即可一键批量下载:
instagram-scraper @creds.txt --filename @location_ids.txt --location --include-location --destination ./photos命令参数逐一解析:
@creds.txt:读取账号凭据;--filename @location_ids.txt:按地点 ID 列表逐个抓取;--location:抓取该地点下的全部帖子;--include-location:在下载结果中附带地点信息;--destination ./photos:照片保存到photos目录。
跑完后打开photos文件夹,该地点的全部照片和元数据就都在本地了。整个过程无需手动翻页,真正实现"指定地点一键全量下载"。
进阶玩法:地图可视化与多格式输出
除了--ids,instagram-location-search 还支持多种输出格式,方便你按需选用:
| 参数 | 输出内容 | 适用场景 |
|---|---|---|
--csv 文件.csv | 地点名称、ID、经纬度、地址等表格 | Excel 数据分析 |
--json 文件.json | 接近原始 API 的 JSON 数据 | 二次开发 |
--geojson 文件.geojson | 标准地理数据格式 | GIS 地理软件 |
--map 地图.html | 带标记的交互式 Leaflet 地图 | 可视化查看 |
多个输出还可以同时生成,例如一次命令同时导出 JSON、CSV 和地图:
instagram-location-search --lat 32.22 --lng -110.97 --json locs.json --csv locs.csv --map map.html常见问题与避坑指南
- 报错"请检查 Cookie":通常是 Cookie 过期或格式不对,重新走一遍第二步的获取流程即可;
- 下载到一半被限制:Instagram 对高频请求有限制,
instagram-scraper依赖的是未公开接口,建议控制频率、分批下载; - 找不到想要的地点:试试
--more模糊搜索扩大范围,或换更精确的经纬度坐标; - 安全问题:sessionid 就是账号的"钥匙",切勿泄露,也不要与第三方服务共享。
结语
通过 instagram-location-search 与 instagram-scraper 的联动,批量下载指定地点的全部 Instagram 照片只需五步:安装 → 获取 Cookie → 导出 Location ID → 配置凭据 → 一键下载。无论是做地理信息研究、市场调研还是内容收集,这套组合拳都能帮你省下大量手工操作的时间。现在就动手试试吧!🎯
【免费下载链接】instagram-location-searchFinds Instagram location IDs near a specified latitude and longitude.项目地址: https://gitcode.com/gh_mirrors/in/instagram-location-search
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
