添加常规信息解析
This commit is contained in:
@@ -4,6 +4,8 @@ import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.decodeFromStream
|
||||
import model.Card
|
||||
import model.GameCh
|
||||
import model.parseType
|
||||
import org.jsoup.Jsoup
|
||||
import java.io.File
|
||||
|
||||
@ExperimentalSerializationApi
|
||||
@@ -18,16 +20,61 @@ fun main(args: Array<String>) {
|
||||
|
||||
cardList.forEach { card ->
|
||||
gameList.find { gameCh -> gameCh.name.contains(card.name) }?.let { gameCh ->
|
||||
card.url = gameCh.url
|
||||
println(gameCh.url)
|
||||
val doc = Jsoup.connect(gameCh.url).get()
|
||||
val elements = doc.select(".markup.mu")
|
||||
|
||||
val tables = elements.select(".mu__table")
|
||||
tables.forEach { element ->
|
||||
println(element)
|
||||
println("------------")
|
||||
}
|
||||
|
||||
card.characterName = elements.select(".mu__index").select("p").text().substringBefore(")").substringAfter("]")
|
||||
|
||||
tables[1].select(".mu__table--row1").apply {
|
||||
card.rarity = select(".mu__table--col2").text()
|
||||
card.maxLevel = select(".mu__table--col4").text()
|
||||
}
|
||||
tables[1].select(".mu__table--row2").apply {
|
||||
select(".mu__table--col2").text().let {
|
||||
card.type = parseType(it)
|
||||
}
|
||||
}
|
||||
tables[1].select(".mu__table--row3").apply {
|
||||
card.group = select(".mu__table--col2").text()
|
||||
card.team = select(".mu__table--col4").text()
|
||||
}
|
||||
tables[1].select(".mu__table--row4").apply {
|
||||
card.date = select(".mu__table--col2").text().substringBefore("(")
|
||||
}
|
||||
|
||||
tables[2].select(".mu__table--row1").apply {
|
||||
card.maxHp = select(".mu__table--col2").text()
|
||||
card.smile = select(".mu__table--col4").text()
|
||||
}
|
||||
tables[2].select(".mu__table--row2").apply {
|
||||
card.pure = select(".mu__table--col2").text()
|
||||
card.cool = select(".mu__table--col4").text()
|
||||
}
|
||||
|
||||
tables[3].select(".mu__table--row1").apply {
|
||||
card.centerSkillName = select(".mu__table--col1").text()
|
||||
}
|
||||
tables[3].select(".mu__table--row2").apply {
|
||||
card.centerSkillInfo = select(".mu__table--col1").text()
|
||||
}
|
||||
|
||||
tables[4].select(".mu__table--row1").apply {
|
||||
card.specialSkillName = select(".mu__table--col1").text()
|
||||
}
|
||||
tables[4].select(".mu__table--row2").apply {
|
||||
card.specialSkillInfo = select(".mu__table--col1").text()
|
||||
}
|
||||
}
|
||||
println(card)
|
||||
return
|
||||
}
|
||||
|
||||
val encodeJson = Json { prettyPrint = true }
|
||||
val prettyJson = encodeJson.encodeToString(cardList)
|
||||
// println(prettyJson)
|
||||
|
||||
val outputFile = File("src/main/resources/card_fix.json")
|
||||
outputFile.writeText(prettyJson)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
@@ -35,4 +82,14 @@ inline fun <reified T> readJson(fileName: String): T {
|
||||
val fis = object {}.javaClass.getResourceAsStream(fileName)!!
|
||||
val decodeJson = Json { ignoreUnknownKeys = true }
|
||||
return decodeJson.decodeFromStream<T>(fis)
|
||||
}
|
||||
|
||||
inline fun <reified T> prettyPrint(data: T): String {
|
||||
val encodeJson = Json { prettyPrint = true }
|
||||
return encodeJson.encodeToString(data)
|
||||
}
|
||||
|
||||
fun writeFile(text: String) {
|
||||
val outputFile = File("src/main/resources/card_fix.json")
|
||||
outputFile.writeText(text)
|
||||
}
|
||||
Reference in New Issue
Block a user