Scala и HTML: загрузите изображение (* .jpg и т. Д.) На жесткий диск - PullRequest
2 голосов
/ 13 ноября 2009

У меня есть программа Scala, которая загружает и анализирует HTML. Я получил ссылки на файлы изображений из HTML, теперь мне нужно перенести эти изображения на мой жесткий диск. Мне интересно, какой лучший метод Скала мне следует использовать.

мой код подключения:

import java.net._
import java.io._
import _root_.java.io.Reader
import org.xml.sax.InputSource

import scala.xml._

def parse(sUrl:String) = {
    var url = new URL(sUrl)
    var connect = url.openConnection

    var sorce:InputSource = new InputSource
    var neo = new TagSoupFactoryAdapter //load sUrl
    var input = connect.getInputStream

    sorce.setByteStream(input)
    xml = neo.loadXML(sorce)
    input.close
}

Мой блог

Ответы [ 3 ]

3 голосов
/ 13 ноября 2009

Тогда вы можете взглянуть на java2s . Хотя решение в простом Java, но вы можете изменить синтаксис Scala, чтобы «просто использовать его» * ​​1003 *

2 голосов
/ 18 февраля 2014

Альтернативный вариант - использовать системные команды, которые намного чище

import sys.process._
import java.net.URL
import java.io.File

object Downloader {
  def start(location: String) : Unit = {
    val url = new URL(location)

    var path = url match {
      case UrlyBurd(protocol, host, port, path) => (if (path == "") "/" else path)
    }

    path = path.substring(path.lastIndexOf("/") + 1)

    url #> new File(path) !!
  }
}

object UrlyBurd {
  def unapply(in: java.net.URL) = Some((
    in.getProtocol, 
    in.getHost, 
    in.getPort,
    in.getPath
  ))
}
0 голосов
/ 13 ноября 2009

Один из способов добиться этого: собрать URL-адреса изображений и запросить их на сервере (открыть новое соединение с URL-адресом изображения и сохранить поток сообщений на жестком диске)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...