我一直在使用某人为我的谷歌电子表格编写的这个脚本来收集数据,10天来它一直运行得很好,然后它突然给了我错误:
SyntaxError: Unexpected token < in JSON at position 0 (line 64, file "Instagram Automation")
我稍微修改了代码,但它给了我错误:
TypeError: Cannot read property 'user' of undefined (line 30, file "Instagram Automation")
这里的代码位是:
function fetch(url) {
var ignoreError = {
"muteHttpExceptions": true
};
var source = UrlFetchApp.fetch(url, ignoreError).getContentText();////
///var data = JSON.parse(source);
return source;
}
(///是我更改的内容,并返回源(
和
function getFollowers() {
return parseInt(fetch(instagram_base_url + followers)['data']['user']['edge_followed_by']['count']);
}
我真的希望有人能帮忙!:(
注意:我已经像第一次一样重新复制了所有的代码,以防我不小心做了一些破坏代码的事情,但仍然出现了相同的错误。
原始github我是如何发现代码的
此人通过在脚本中使用cookie变量解决了这个问题。
https://gist.github.com/JulienDev/df5a3b66e899c224fa1b2dc90acfa2ae#gistcomment-3531268
按照他的指示,我可以确认它确实有效。
我正在使用相同的脚本,并且在日志(片段(中得到以下响应:
[20-11-18 12:28:58:326 AEDT] Logging output too large. Truncating output. <!DOCTYPE html>
<html lang="en" class="no-js not-logged-in ">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>
Page Not Found • Instagram
</title>
<meta name="robots" content="noimageindex, noarchive">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="mobile-web-app-capable" content="yes">
<meta name="theme-color" content="#ffffff">
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, viewport-fit=cover">
<link rel="manifest" href="/data/manifest.json">
我已经在浏览器选项卡中测试了获取URL结构,我得到了一个JSON,所以我很困惑为什么响应是syaing Page Not Found。
我能看到的唯一其他提示是在没有登录的类中
这是因为,在最后一天,Instagram更新了使用cookie的政策。如果您以注册用户身份登录,您可能会使用所需的JSON获得正确的结果。
但是,如果您的IP被泄露,例如在"隐身"选项卡中,您将被重定向到登录页面。这与您附加的HTML代码相对应。
在开发人员工具中,您将看到302重定向到登录页面。例如,如果你能进入一个标签搜索页面,你会发现滚动时没有加载新数据。
我认为很快就会有更多关于这个问题的讨论。