organization/KotlinInside

댓글 글쓴이의 ipData를 받아올 수 없습니다.

Closed this issue · 3 comments

import be.zvz.kotlininside.KotlinInside
import be.zvz.kotlininside.api.article.ArticleList
import be.zvz.kotlininside.api.comment.CommentRead
import be.zvz.kotlininside.api.type.comment.StringComment
import be.zvz.kotlininside.http.DefaultHttpClient
import be.zvz.kotlininside.session.user.Anonymous
import java.lang.IllegalStateException

fun croller(id: String) {
    val articleList = ArticleList(id, 1, true)
    articleList.request()

    val gallList = articleList.getGallList() // 글 목록
    val gallInfo = articleList.getGallInfo() // 갤러리 정보

    println(gallInfo.title)
    gallList.forEach {
            val totalPages = CommentRead(id, it.identifier, 1).get().totalPage
            println(it.subject)

            for (i in 1..totalPages) {
                println(i)
                val reader = CommentRead(id, it.identifier, i)
                val comments = reader.get().commentList

                for (comment in comments) {
                    val content = comment.content
                    if (content is StringComment) {
                        println(content.memo)
                    }
                }
            }
    }
}

fun main(args: Array<String>) {
    KotlinInside.createInstance(
        Anonymous("ㅇㅇ", "1234"),
        DefaultHttpClient(true, true)
    )

    val galleryList = arrayOf("leagueoflegends3", "baseball_new9")
    galleryList.forEach {
        croller(it)
    }
}

위와 같은 간단한 코드를 실행해서, 댓글 데이터들을 크롤링하고 있었습니다. 하지만 특정 글의 댓글 페이지에서 다음과 같은 오류가 발생합니다.

Exception in thread "main" java.lang.IllegalStateException: it.get("ipData").text() must not be null
	at be.zvz.kotlininside.api.comment.CommentRead.get(CommentRead.kt:54)
	at MainKt.croller(main.kt:24)
	at MainKt.main(main.kt:44)

확인해보니 몇몇 댓글들은 ipData를 받아올 수 없어, IllegalStateException이 발생하는 것 같습니다. 확인해주시길 바랍니다.

ipData를 받아올 수 없는 글 주소를 알 수 있을까요?

val totalPages = CommentRead("leagueoflegends3", 8289197, 1).get()

롤갤의 8289197 번째 글의 1번째 댓글 페이지입니다.

해당 버그 수정한 1.7.7 버전 릴리즈되었습니다.