我对网络爬虫相当有经验,但是这个问题是关于性能和规模的。我需要在一个间隔内请求和爬行15万个urls (大多数urls是每15分钟一次,大约是每分钟10,000个请求)。这些页面拥有相当数量的数据(每页约200 of )。我们的数据库(MSSQL)中有15万个urls,每个urls都有最后一个爬行日期的时间戳,并且有一个间隔,以便我们知道何时再次爬行。
这就是我们得到一个额外的复杂性层的地方。他们确实有一个API,允许每次调用最多10个项目。我们需要的信息仅部分存在于API中,部分只存在于网页上。所有者允许我们进行网络调用,他们的服务器可以处理,但是他们不能更新他们的API或提供直接的数据访问