Instagram曾经在端点https://www.instagram.com/<username>/?__a=1
下将开放数据公开为json .这在一夜之间发生了变化,端点不再可用。什么是新端点或什么可以替代它?
提前致谢!
最佳答案
端点不再存在。由于丑闻,Facebook 正在限制 API。数据当然还在那里,Instagram 的前端需要它,所以现在的替代方法是抓取页面并在那里找到 json 数据。这是我如何做到的:
https://www.instagram.com/<username>
. script
文本开头的标签 window._sharedData =
.您可以为此使用正则表达式或抓取库。 ;
)就是你想要的json数据。 下面是一个使用 Python 的例子:
import requests
from bs4 import BeautifulSoup
import re
import json
r = requests.get('https://www.instagram.com/github/')
soup = BeautifulSoup(r.content)
scripts = soup.find_all('script', type="text/javascript", text=re.compile('window._sharedData'))
stringified_json = scripts[0].get_text().replace('window._sharedData = ', '')[:-1]
json.loads(stringified_json)['entry_data']['ProfilePage'][0]
Out[1]:
{u'graphql': {u'user': {u'biography': u'How people build software.',
u'blocked_by_viewer': False,
...
}
关于json - 什么是新的 instagram json 端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49788905/