package com.example.newnew

import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import java.io.IOException
import kotlin.concurrent.thread

class MainActivity : AppCompatActivity() {

private lateinit var resultTextView: TextView
private lateinit var fetchButton: Button

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

resultTextView = findViewById(R.id.resultTextView)
fetchButton = findViewById(R.id.fetchButton)

fetchButton.setOnClickListener {
if (isInternetAvailable()) {
fetchDataFromWebsite()
} else {
resultTextView.text = "인터넷에 연결되어 있지 않습니다."
}
}
}

// 인터넷 연결 확인 메서드
private fun isInternetAvailable(): Boolean {
val connectivityManager =
getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkCapabilities = connectivityManager.activeNetwork?.let { network ->
connectivityManager.getNetworkCapabilities(network)
}
return networkCapabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
}

private fun fetchDataFromWebsite() {
thread {
try {
// Jsoup으로 웹 페이지 가져오기
val document: Document =
Jsoup.connect("https://sports.daum.net/schedule/kl?date=202403")
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")
.get()

// HTML 구조 디버깅용
Log.d("HTML Structure", document.html())

// 특정 날짜의 경기 추출
val rows = document.select("tr[data-date='20240301']")
var result = ""

for (row in rows) {
val date = row.select("td.num_date").text()
val homeTeam = row.select(".info_team.team_home .txt_team").text()
val homeScore = row.select(".info_team.team_home .num_score").text()
val awayTeam = row.select(".info_team.team_away .txt_team").text()
val awayScore = row.select(".info_team.team_away .num_score").text()

result = """
경기 일정: 2024$date
홈팀: $homeTeam (점수: $homeScore)
원정팀: $awayTeam (점수: $awayScore)
""".trimIndent()
break
}

runOnUiThread {
if (result.isNotEmpty()) {
resultTextView.text = result
} else {
resultTextView.text = "해당 날짜에 경기가 없습니다."
}
}
} catch (e: IOException) {
e.printStackTrace()
runOnUiThread {
resultTextView.text = "데이터를 가져오는 데 실패했습니다."
}
}
}
}
}

3월 1일에 있었던 울산 포항 1대0 경기

전북 대전 1대1 경기 이 두개가 경기 정보 가져오기 버튼을 누르면 떠야하는데 자꾸 해당 날짜에 경기가 없습니다. 라고 하네요 이번시즌 전부 다  크롤링 하려는데 이것만 고쳐주시면 나머지는 시간 투자해서 할수있을것같습니다 부탁드려요