正在从 Instagram 下载 public 数据用于研究

Downloading public data from Instagram for research

我正在进行一项研究,为此我需要下载 Instagram 数据。起初我尝试使用 Instagram API,但它现在对每个 API 调用可以下载的 post 数量和每天 API 调用的数量有上限,这使得它与我的工作无关。我还尝试使用 instagram-scraper which is unable to download larger amounts of data. I finally turned to web scraping using selenium with python which worked well for me for scraping usernames of about 15000 public profiles relevant to my research. However, because of the dynamic way in which Instagram loads its web pages, I am unable to scrape links to posts of users. The code 不断按制表符并提取 post 链接(这是只有一个 post 的网页)焦点元素。然而,Instagram 在一定数量 post 或一定时间后停止加载图像(无法进一步滚动)。我还有其他方法可以做到这一点吗?

我还想询问这是否合法,以及我是否能够像大多数研究人员那样稍后发布这些数据。

我能以某种方式购买这些数据吗?如果可以,那么我要花多少钱?来源是什么?

我做了一些与你所做的非常相似的事情,所以我想也许我可以分享一些想法并回答你的一些问题:

1st:我很确定这是非法的(将尝试在 Instagram 的政策中添加 link)并且 instagram 强烈拒绝抓取和报废他们的财产。所以买这东西也是没问题的,除非你想亲自动手。

第二:是的,Instagram 会定期更改其照片和视频的签名。值得庆幸的是,link 到 post 和配置文件保持不变。你能做的最好的事情就是尽快(在签名到期之前)访问 post 网页并下载你需要的东西。

3:link的签名来自于一些JavaScript代码,如果你下载网页源你什么也得不到。您实际上需要一个JS引擎来为您解析和加载网页。

4th:我不确定你的 post 是否被认为是一个真正的 Stack-overflow 问题。对我来说似乎更像是一个指南而不是一个问题。

最后,除了滚动到页面底部之外,我找不到任何其他方法来提前 post 加载。您必须滚动并等待更多 posts 来填充页面,而 Instagram 不加载更多 posts 是很常见的,因此请为自己实施超时机制。