对于当前项目,我在Scala中创建了一个Web API,但是我需要在每个用户请求上抓取+-70个URL。在使用Scala / Java时如何使用Scrapy做到这一点?还有其他方法吗?
答案 0 :(得分:0)
尝试使用Actor执行后台任务。尽管执行此操作的一种方法是通过安排每N秒2发生某事,但使用Actor会添加一个队列(邮箱)。队列很重要,因此您不会使服务器超载。
您可以拥有一个像这样1的控制器:
case object StartScraping
class Scraper extends Actor {
def receive = {
case StartScraping =>
// do the scraping!
}
}
class MyController (@Named("scraper-actor") configuredActor: ActorRef) {
def get = Action {
configuredActor ! StartScraping
}
}
关于规格,您没有提供太多详细信息,但这是一个很好的起点,可以用于许多目的。