使用 axios 提取 instagram 数据并且 ?__a=1 半天后被阻止(1 个请求/分钟)

Posted

技术标签:

【中文标题】使用 axios 提取 instagram 数据并且 ?__a=1 半天后被阻止(1 个请求/分钟)【英文标题】:extract instagram data with axios and ?__a=1 got blocked after half a day (1 request/minute) 【发布时间】:2020-06-03 07:41:30 【问题描述】:

我编写了一个脚本,从[response.data.graphql.user] 中检索 json 格式的用户配置文件数据

我用这个:

const response = await axios.get('https://www.instagram.com/'+accountUrl+'?__a=1');

对于用户列表,我想循环此脚本并获取所有数据。 为了不被阻止,我设置了一个计时器或每分钟 1 个请求,但几个小时后我似乎被阻止了。

request.response_url 返回:https://www.instagram.com/accounts/login/response.data.graphql 不存在

即使通过 *** 线路,它也不再工作了......

有人知道我可以做些什么来完成这项工作吗?

【问题讨论】:

【参考方案1】:

您需要登录 Instagram,然后再次发送请求。最好的方法是使用 puppeteer 之类的工具并在到达 ?__a=1 端点之前登录。

您可能还需要将请求的增加时间减少到 1 个请求/3 分钟,以便更好地进行命中和试运行以找出限制。

【讨论】:

以上是关于使用 axios 提取 instagram 数据并且 ?__a=1 半天后被阻止(1 个请求/分钟)的主要内容,如果未能解决你的问题,请参考以下文章

用 php 提取 Instagram 信息——解码然后呢?

如何在没有 CORS 错误的情况下使用 axios 对 Instagram 进行 api 调用

当我尝试使用 Axios 调用 Instagram API 时,我“被 CORS 政策阻止” [重复]

Vue 3 Instagram 动态 - CORS

如何从 instagram api 中提取基于位置 ID 的任何类型的地理空间数据?

axios get请求后访问json数据