我正在开发一个应用程序,通过使用selenium和python从Instagram获取图像细节。
driver.execute_script(SCROLL_TOP)
driver.execute_script(SCROLL_BOTTOM)
在结果中,所有发布的图片和字幕都可以从driver.page_source
但是当我试图获得有关图像的更多信息时(例如,喜欢的数量,发布图像的日期)。我需要访问
<script type="text/javascript">window._sharedData = {...}</script>
上一代码中的“...”是JSON块。它包含前12个媒体的详细信息。有没有办法在window._shareData JSON块中获取所有图像的细节?
感谢您的建议
答案 0 :(得分:4)
看看my answer解决你的问题,但用PHP。无论如何,你可以用python做同样的事情:
通过网址加载json:https://www.instagram.com/nasa/?__a=1
(用任何公共用户名替换nasa
)。
从json获取12个媒体详细信息:user->media->nodes
。
从json:user->media->page_info
获取其他媒体信息。有has_next_page
(布尔值)和end_cursor
(整数)。使用它来获取带有网址https://www.instagram.com/nasa/?__a=1&max_id=[VALUE-FROM-end_cursor]
的下一个12媒体。