댓글 글쓴이의 ipData를 받아올 수 없습니다.
Closed this issue · 3 comments
seunghyukcho commented
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이 발생하는 것 같습니다. 확인해주시길 바랍니다.
JellyBrick commented
ipData
를 받아올 수 없는 글 주소를 알 수 있을까요?
seunghyukcho commented
val totalPages = CommentRead("leagueoflegends3", 8289197, 1).get()
롤갤의 8289197 번째 글의 1번째 댓글 페이지입니다.
JellyBrick commented
해당 버그 수정한 1.7.7
버전 릴리즈되었습니다.