Skip to content

Instantly share code, notes, and snippets.

View janlisse's full-sized avatar

Jan Liße janlisse

View GitHub Profile

Keybase proof

I hereby claim:

  • I am janlisse on github.
  • I am jan_lisse (https://keybase.io/jan_lisse) on keybase.
  • I have a public key ASBMFLuACtXRBUXRLf8EpkONqgX9b2Fs0_nvSPRSzOBRhQo

To claim this, I am signing this object:

@janlisse
janlisse / gist:f2672bf8bbee009ef009
Last active August 29, 2015 14:21
Paginated scraper flow
def scrape(implicit charset: Charset): Flow[URL, Document, Unit] = Flow[URL].mapAsyncUnordered(10)(httpClient.getDocument(charset))
.buffer(10, OverflowStrategy.backpressure)
.map(toDocument)
def scrapePaginated[T](f: Document => (T, Option[URL]))(implicit charset: Charset) = Flow() { implicit b =>
import akka.stream.scaladsl.FlowGraph.Implicits._
val merge = b.add(MergePreferred[URL](1))
val unzip = b.add(Unzip[T, Option[URL]]())