如何获取 Instagram 图片详细信息

r0n*_*0ng 2 python selenium json instagram

我正在开发一个应用程序,通过使用 selenium 和 python 从 Instagram 获取图像详细信息。

driver.execute_script(SCROLL_TOP)
driver.execute_script(SCROLL_BOTTOM)
Run Code Online (Sandbox Code Playgroud)

结果,所有发布的图像和标题都可以从 driver.page_source

但是当我试图获取有关图像的更多信息时(例如,喜欢的数量、图像发布的日期)。我需要访问

<script type="text/javascript">window._sharedData = {...}</script>
Run Code Online (Sandbox Code Playgroud)

前面代码中的 '...' 是一个 JSON 块。它包含前 12 个媒体的详细信息。有没有办法在 window._shareData JSON 块中获取所有图像的详细信息?

谢谢你的建议

rNi*_*Nix 5

看看我的答案,它解决了您的问题,但使用 php。不管怎样,你可以用 python 做同样的事情:

  1. 通过 http 从 url 加载 json:(https://www.instagram.com/nasa/?__a=1替换nasa为任何公共用户名)。

  2. 从 json: 中获取 12 个媒体详细信息user->media->nodes

  3. 从 json: 获取额外的媒体信息user->media->page_info。有has_next_page(布尔)和end_cursor(整数)。使用它来获取接下来的 12 个带有 url 的媒体https://www.instagram.com/nasa/?__a=1&max_id=[VALUE-FROM-end_cursor]

  4. 重复 2-3。