从Instagram下载公共数据进行研究

时间:2018-08-20 06:26:44

标签: selenium web-scraping instagram-api

我正在做一项研究,需要下载Instagram数据。最初,我尝试使用Instagram API,但现在对每个API调用可以下载的帖子数量以及每天的API调用数量设置了上限,这与我的工作无关。我还尝试使用无法下载大量数据的instagram-scraper。我最终转向使用Selenium和python进行网络抓取,这对于我抓取与我的研究相关的大约15000个公共配置文件的用户名非常有效。但是,由于Instagram加载网页的动态方式,我无法抓取用户帖子的链接。 code不断按下标签并提取焦点元素的帖子链接(即只有一个帖子的网页)。但是,Instagram在一定数量的帖子或一定时间后将停止加载图像(无法进一步滚动)。我还有其他方法可以做到吗?

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

我可以以某种方式购买这些数据吗(如果是的话),那将花费我多少钱,来源是什么?

1 个答案:

答案 0 :(得分:0)

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

1st:我很确定这是非法的(将尝试添加指向Instagram政策的链接),并且instagram强烈拒绝其财产的爬行和报废。因此,除非您不愿动手,否则购买这些东西也不成问题。

2nd:是的,Instagram会定期更改其照片和视频的签名。幸运的是,帖子和个人资料的链接保持不变。最好的办法是尽可能快地发布网页(在签名过期之前)并下载所需的内容。

3rd:链接的签名来自一些JavaScript代码,如果您下载网页源,则一无所获。实际上,您实际上需要一个JS引擎来为您解析和加载网页。

4th:我不确定您的帖子是否被视为真正的堆栈溢出问题。似乎更像是对我的指导而不是一个问题。

最后,除了滚动到页面底部之外,我无法找到其他方法来加载较早的帖子。您必须滚动并等待更多的帖子来填充页面,而Instagram通常不加载更多的帖子,因此为自己实现超时机制。