gpt4 book ai didi

html - Scala HTML 解析器对象的使用

转载 作者:行者123 更新时间:2023-11-27 22:40:08 28 4
gpt4 key购买 nike

我正在使用 HTML 解析器来解析 HTML 字符串:

import nu.validator.htmlparser.{sax,common}
import sax.HtmlParser
import common.XmlViolationPolicy

val source = Source.fromString(response)
val html = new models.HTML5Parser
val htmlObject = html.loadXML(source)

如何提取对象中特定元素的值?我可以使用这个获取 child 和标签:

val child = htmlObject.child(1).label

但是不知道怎么获取child的内容。另外,我不知道如何遍历子对象。

最佳答案

不清楚您的HTML5Parser 类来自何处,但我假设它是this example 中的那个。 (或类似的东西)。在这种情况下,您的 htmlObject 只是一个 scala.xml.Node .首先进行一些设置:

val source = Source.fromString(
"<html><head/><body><div class='main'><span>test</span></div></body></html>"
)

val htmlObject = html.loadXML(source)

现在您可以执行以下操作,例如:

scala> htmlObject.child(1).label
res0: String = body

scala> htmlObject.child(1).child(0).child(0).text
res1: String = test

scala> (htmlObject \\ "span").text
res2: String = test

scala> (htmlObject \ "body" \ "div" \ "span").text
res3: String = test

scala> (htmlObject \\ "div").head.attributes.asAttrMap
res4: Map[String,String] = Map(class -> main)

等等。

关于html - Scala HTML 解析器对象的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419197/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com