Fix: simplify episode parsing - use broader selector

This commit is contained in:
tvmon-dev
2026-04-15 20:58:41 +09:00
parent 91d66896b7
commit 181dbf2b82

View File

@@ -410,17 +410,10 @@ class TvmonScraper {
val episodes = mutableListOf<Episode>()
val videoLinks = mutableListOf<VideoLink>()
val seenEpisodeIds = mutableSetOf<String>()
val seenNumbers = mutableSetOf<String>()
val seriesId = seriesUrl.substringAfterLast("/").substringBefore("?")
val allEpisodeLinks = doc.select(
".next-ep-list-scroll .ep-item, .ep-item, .bo_v_list li a, #bo_v_list li a, " +
".list_body .item a, .ep-list a, .episode-list a, .ep-link a, " +
".bo_v_list a, .view-list a, a[href*='/$seriesId/'], a[href*='/${seriesId}/'], " +
".episode-item a, .episodelist a, #episode-list a, .all-episode-list a, " +
".bo_v_title + div a, .list-wrap a[href*='/$seriesId/']"
)
val allEpisodeLinks = doc.select("a[href*='/$seriesId/'], a[href*='/${seriesId}/']")
var episodeIndex = 0
@@ -438,13 +431,11 @@ class TvmonScraper {
if (episodeId in seenEpisodeIds) continue
seenEpisodeIds.add(episodeId)
val titleEl = link.selectFirst(".ep-item-title, .item-title, strong, span, .title, .bo_v_title")
val linkText = titleEl?.text()?.trim() ?: link.text().trim()
val linkText = link.text().trim()
if (linkText.isBlank()) continue
if (linkText.contains("로그인") || linkText.contains("") || linkText.contains("영화") ||
linkText.contains("드라마") || linkText.contains("예능") || linkText.contains("검색") ||
linkText.contains("전체") || linkText.contains("다음") || linkText.contains("재생")) {
if (linkText.contains("로그인") || linkText.contains("비밀번호") ||
linkText.contains("마이페이지") || linkText.contains("전체 목록")) {
continue
}
@@ -460,9 +451,6 @@ class TvmonScraper {
} else {
episodeIndex++.toString()
}
if (finalNumber in seenNumbers) continue
seenNumbers.add(finalNumber)
episodes.add(Episode(
number = finalNumber,