如何在24小时内从动态加载网页中抓取超过50,000个数据点?



我正在使用Selenium python,想知道如何在24小时内有效地抓取超过50,000个数据点。例如,当我在网页"insight.com"上搜索产品时,刮板搜索产品并获取其价格大约需要 3.5 秒,这意味着对于大量数据,刮板需要几天时间。使用线程同时查找多个产品的零件,我还能如何加快此过程? 我只有一台笔记本电脑,必须同时抓取其他六个类似的网站,因此不需要太多线程,计算机的运行速度会显着降低。 人们如何在如此短的时间内抓取大量数据?

如果您停止使用selenium模块,而是使用更时尚,更优雅的模块,例如requests,则可以在短短几分钟内完成工作。

如果您设法对正在处理的请求进行逆向工程,并自己发送它们,则可以将其与线程配对,以每秒或多或少抓取大约 50 个"数据点"(取决于某些因素,如处理和互联网连接速度(。

找到一个 API 并使用它!! 网络抓取和 API 的目标都是访问网络数据。

网络抓取允许您通过使用网络抓取软件从任何网站提取数据。另一方面,API 允许您直接访问所需的数据。

因此,您可能会发现自己处于这样一种情况:可能没有 API 来访问所需的数据,或者对 API 的访问可能过于有限或过于昂贵。

在这些情况下,只要数据在网站上可用,网络抓取就允许您访问数据。

例如,您可以使用网络抓取工具从亚马逊提取产品数据信息,因为它们不提供 API 供您访问这些数据。 但是,如果您可以访问API,则可以获取所需的所有数据,超级,超级,超快!! 这类似于在本地数据库中执行查询,这非常快速且非常高效,而不是刷新网页,等待所有元素加载,并且在加载所有元素之前无法使用数据,然后.....做你需要做的事情。

相关内容

最新更新