- KBO 공식 홈페이지에서 연도별 팀 순위 및 상대 전적 데이터를 가져오는 크롤링 스크립트를 구현했습니다. - ASP.NET의 ViewState 및 EventValidation 필드를 처리하여 동적인 연도 전환 요청을 지원합니다. - 데이터를 가독성 높은 콘솔 테이블 형태로 출력하거나 JSON 형식으로 변환하는 기능을 제공합니다.
1 line
6.4 KiB
JSON
1 line
6.4 KiB
JSON
{"nodes": [{"id": "rtdb_vote_aggregates", "label": "RTDB: voteAggregates/{gameId} (public read)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_vote_repo_after", "label": "VoteRepository After C1 (RTDB onValue subscription)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/data/vote_repository.dart", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_standings_provider_after", "label": "standings Provider After C2 (single source)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/application/standings_provider.dart", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_h2h_provider_after", "label": "headToHead Provider After C2 (watches standings)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/application/h2h_provider.dart", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_ace_pitcher_after", "label": "acePitcher Provider After C3 (derived from pitchers)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/application/ace_pitcher_provider.dart", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_current_user_after", "label": "currentUser Provider After C4 (keepAlive)", "file_type": "code", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/auth/application/current_user_provider.dart", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "client_improvements_summary", "label": "Client Improvements Summary (C1-C4 Applied)", "file_type": "document", "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}], "edges": [{"source": "client_improvements_summary", "target": "opt_C1", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_improvements_summary", "target": "opt_C2", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_improvements_summary", "target": "opt_C3", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_improvements_summary", "target": "opt_C4", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_vote_repo_after", "target": "rtdb_vote_aggregates", "relation": "reads_from", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/data/vote_repository.dart", "weight": 1.0}, {"source": "opt_C1", "target": "client_vote_repo_after", "relation": "optimized_by", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_h2h_provider_after", "target": "client_standings_provider_after", "relation": "reads_from", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/application/h2h_provider.dart", "weight": 1.0}, {"source": "opt_C2", "target": "client_h2h_provider_after", "relation": "optimized_by", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "opt_C2", "target": "client_standings_provider_after", "relation": "optimized_by", "confidence": "INFERRED", "confidence_score": 0.95, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 0.9}, {"source": "client_ace_pitcher_after", "target": "client_provider_pitchers", "relation": "reads_from", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": "lib/features/prediction/application/ace_pitcher_provider.dart", "weight": 1.0}, {"source": "opt_C3", "target": "client_ace_pitcher_after", "relation": "optimized_by", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "opt_C4", "target": "client_current_user_after", "relation": "optimized_by", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "client_current_user_after", "target": "client_ep_get_user", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 1.0}, {"source": "rtdb_votes_gameId", "target": "rtdb_vote_aggregates", "relation": "semantically_similar_to", "confidence": "INFERRED", "confidence_score": 0.75, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md", "source_location": null, "weight": 0.7}], "hyperedges": [{"id": "client_applied_improvements", "label": "Applied Client Optimizations (opt/client-rw branch)", "nodes": ["opt_C1", "opt_C2", "opt_C3", "opt_C4", "client_vote_repo_after", "client_standings_provider_after", "client_h2h_provider_after", "client_ace_pitcher_after", "client_current_user_after"], "relation": "implement", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "graphify-out/tmp-corpus/client_improvements-client.md"}]} |