您如何自动滚动 Instagram DM?
Posted
技术标签:
【中文标题】您如何自动滚动 Instagram DM?【英文标题】:How do you automate scrolling Instagram DMs? 【发布时间】:2021-10-27 02:44:58 【问题描述】:我正在尝试抓取我的 Instagram DM(直接消息)。但是,我不知道如何自动向下滚动列以获取向我发送消息的其他用户名。 我试过this,还有滚动码listed here。
但是,由于 Instagram 的 DM 页面被分成几列,所以这两种方法都不起作用。整页本身不需要滚动。只是第一列。作为参考,这里是 Instagram DM 页面的截图。出于隐私原因,我屏蔽了我的用户名和私信我的人的用户名
有人对我如何修改向下滚动页面以适应列大小的脚本有任何想法吗?
感谢您花时间阅读我的问题并以任何方式提供帮助。
【问题讨论】:
【参考方案1】:您应该以消息框元素为目标来滚动,而不是定位窗口:
scroll_y = 1000
driver.execute_script(f"document.getElementsByClassName('N9abW')[0].scrollTo(0,scroll_y)")
如果它不适用于类名,请尝试使用 Xpath:
path = "//*[@id='react-root']/section/div/div[2]/div/div/div[1]/div[2]/div/div/div"
script = f"document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.scrollTo(0,scroll_y);"
driver.execute_script(script)
根据需要调整滚动
【讨论】:
非常感谢您抽出宝贵时间帮助我!您的解决方案部分有效。我必须把它放在一个循环中,因为它不会立即滚动到框的底部。我发现如果我把它放在for loop
中并增加到 5,它就可以工作。唯一的问题是我得到重复的答案。【参考方案2】:
您应该尝试使用 Instagram 上的导出数据功能,您将获得您发送或接收的所有消息和媒体的 JSON 文件。这将使您的任务更容易。
https://help.instagram.com/contact/505535973176353
https://www.instagram.com/download/request/
【讨论】:
非常感谢您抽出宝贵时间回答我的问题。你是对的,获取我的数据的 JSON 文件会变得容易得多。以上是关于您如何自动滚动 Instagram DM?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITable 中实现 Instagram 评论的效果?