Die*_*des 10 api json endpoint instagram instagram-api
Instagram用于在端点下将开放数据公开为json https://www.instagram.com/<username>/?__a=1.这改变了一夜,端点不再可用.什么是新的端点或什么可以替代它?
提前致谢!
Die*_*des 19
端点不再存在.由于丑闻,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,
...
}
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找正则表达式:
<script type="text\/javascript">window[.]_sharedData = {[\s\S]*};<\/script>