中获取的HTML页面
val html = io.Source.fromURL("http://example.org/aPage.html").mkString()如何提取包装在给定标签中的内容?为了说明这一点,例如,考虑到这个HTML片段和标记<textarea>,
val html = "<p>Marginalia</p>
<textarea rows="3" cols="10">Contents of interest"</textarea
<p>More marginalia</p>"如何获得"Contents of interest"?
发布于 2015-06-12 01:21:39
有两种简单的方法可以做到:
Scala
将Scala依赖项添加到项目中:
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.0.3"
现在,您可以解析HTML代码并选择所有textarea标记。
import scala.xml.XML
val htmlXml = XML.loadString(html)
val textareaContents = (htmlXml \\ "textarea").text如果HTML是有效的,并且希望执行多个XPath查询,那么这可能是更好的方法。还可以查看这个博客以获得更多关于\\的含义或如何使用Scala库的信息。
雷吉普
另一种简单的方法是定义正则表达式并找到匹配:
val regex = "<textarea.*>(.+)</textarea>".r
regex.findAllIn(html).map {
match => // process match
}https://stackoverflow.com/questions/30789527
复制相似问题