如何在Play,Java / Scala环境中运行ScraPy Spiders?

时间:2018-08-05 08:44:00

标签: scala playframework scrapy

对于当前项目,我在Scala中创建了一个Web API,但是我需要在每个用户请求上抓取+-70个URL。在使用Scala / Java时如何使用Scrapy做到这一点?还有其他方法吗?

1 个答案:

答案 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
  }
}

关于规格,您没有提供太多详细信息,但这是一个很好的起点,可以用于许多目的。