我最近有想法从Instagram帐户及其帖子中抓取信息,例如评论数量或喜欢的数量。到目前为止,我在使用chrome进行调试时发现,例如网络选项卡下的链接 https://www.instagram.com/instagram/?__a 会返回带有所需信息的JSON,但实际加载的内容仍然是正常的网站HTML代码。
到目前为止,我尝试使用此代码进行python:
import urllib.request
r = urllib.request.urlopen(url)
print(r.read())
或javascript:
window.onload = function () {
res = fetch("https://www.instagram.com/instagram/?__a", {
method: 'get'
}).then(function (data) {
return data.json();
}).catch(function (error) {
console.log("ERROR".concat(error.toString()));
});
console.log(res.user);
};
所以我遇到的问题是,在使用这些功能时我只获得网站代码( html ),有没有办法只获取后台加载的JSON?我知道人们会推荐我使用instagram api,但我没有网站也没有公司可以注册。
答案 0 :(得分:4)
我遇到了一个问题,试图让API做我想做的事情,而且实际上只需要JSON数据,包括特定帐户图像的网址和字幕。
使用以下GET请求:
https://www.instagram.com/account_name/?__a=1
其中account_name是我正在抓取的个人资料。
它返回我的任务所需的所有JSON。
答案 1 :(得分:1)
尝试在背景中加载Json对于一个简单的问题来说太多了。
你应该使用Instagram Api。把你的名字作为公司。