最近在抓取 Instagram 数据,基本需求是:寻找一些指定国家、指定类别的用户。
研究了 Instagram ,功能如下
- 部分支持直接搜索,比如搜索 usa makeup ,能够直接出来一批帖子
- 支持搜索标签,跳转到标签页。但不支持同时搜索多个标签
- 支持搜索地点,但在地点中不支持进一步搜索定制
结合我的需求,其限制如下
- 直接搜索出来的比较随机,有些关键词无法搜出帖子,因此这是一个不稳定的功能
- 不支持多维度搜索,即指定多个标签、同时指定标签和帖子等
于是要实现我的需求,比较靠谱的方案是
- 抓取指定国家下的帖子,然后从中按照标签筛出想要的帖子,再解析其用户
- 抓取指定标签下的帖子,然后从中按照用户地点筛选
我使用 AccessibilityService 对 Instagram 客户端做了自动化操作,然后使用 MITMProxy addon 在代理层解析数据包入库,方便后续统计,但这里又遇到一些问题
- 在帖子列表页面下拉两千个帖子左右时,就可能被卡住,无法加载更多帖子。且约到后面,加载出来的帖子和重复度越高,使得我无法得到足够多的帖子
- 随着帖子加载越来越多,Instagram 的网络我访问就变得很慢,导致没法继续抓取工作
总之就是我目前很难在短时间内获取足够的帖子,导致无法进行下一步获取到足够多的符合要求的用户。
请问有人有 Instagram 爬虫经验吗?或者要实现我的需求还有别的方法吗?(排除直接从数据平台直接购买的方式)