강좌 / 팁

소프트웨어 엑셀로 KBS1 KBS2 MBC SBS 등 편성표 가져오기

2022.06.06 20:10

지후빠 조회:2696 추천:14

몇가지 추가 또는 수정하였습니다. 이것으로 마무리 할까 합니다.^^ 지상파 편성표 웹크롤링.xlsm

- 오늘 이후 날로 특정 날짜나 요일 입력시 해당 데이터를 하루씩 가져오도록 하였습니다.

- 일주일치 작성하려면 각 시트 추가 후 해당 일자 각각 실행하면 되겠습니다.

- 당연히 요일 지정은 오늘을 포함하여 일주일 치에만 사용할 수 있습니다.

- 날짜와 요일을 시트 이름으로 설정

- 보기 좋게 시간 부분을 두자리로 통일

 

alt+F8 -> GetTVProgramOn 실행

지상파 편성표 msgbox.jpg

지상파 편성표 웹크롤링.jpg

참고로 코드중 Array(9, 7, 11, 5) 에 채널 번호를 추가/제거하여 쉽게 원하는 채널만 가져 올 수 있습니다. 


안녕하세요? 쉬는 날 질문게시판에 올라온 내용을 YouTube 보고 공부하였습니다.

 

질문; excel 시트로 방송 편성표 가져올 때의 질문 입니다 - https://windowsforum.kr/qna/18100846

 

YouTube에 알맞은 동영상이 있어서 따라하였습니다. ; https://www.youtube.com/watch?v=h6CUDIyF0fw

- 첨부 엑셀 파일 속성에 링크 기록하였습니다.

- 동영상을 보시면 아시겠지만, Microsoft HTML Object Library와 Microsoft Internet Controls를 참조합니다.

 

질문의 Daum 홈페이지가 아닌 https://tv.kt.com/ 에서 채널 정보를 가져옵니다.

인터넷익스플로러를 이용합니다. 크롬(셀레니움)을 이용하는 방법도 있는 것 같습니다.

 

지상파 편성표.xlsm 매크로 포함으로 열어야 합니다.

 

alt + F8 누르면 매크로 실행 창이 나오고, 

GetTVProgram.jpg

 

GetTVProgram 실행하면,

아래쪽 화면처럼 질문한 양식과 비슷한 데이터를 얻을 수 있습니다. ^^ 포맷은 좀 더 추가하면 될 것 같습니다.

 

지상파편성표_2022-06-06.jpg

 

단순한 웹페이지는 가져올때 엑셀-데이터-웹으로 가져올 수 있는데, 요즘 웹페이지는 구조가 복잡하여 쉽지만은 않습니다.

파워쿼리를 좀 더 잘 사용할 수 있으면 가능할지 모르겠습니다만, 표 안에 표 구조를 가지고 있어서 잘 안되더군요.

 

관심있으신 분은 alt+F11 누르면 코드를 볼 수 있습니다만,

유튜브 내용을 조금 수정한 정도라서 유튜브 동영상을 보시고 포함된 코드를 보시는 것을 추천드립니다.^^

 

유튜브 동영상에서 코드를 제공하지 않아서 모두 보면서 타이핑하였습니다. 2~3시간 걸린듯 합니다.

- PC 성능에 따라서, 성능이 느려서 에러가 나면 아래 코드중 TimeValue("00:00:01") 부분의 초를 늘려 주면 될 것 같습니다.

- 아래는 유튜브 원본 코드입니다.(수정된 코드는 엑셀 파일안에 있으니 참고하십시오.)

 

Sub GetTVProgram()

 

    Dim ie As InternetExplorer

    Dim strURL As String

    

    Dim nCnt As Integer

    Dim i As Integer

    Dim strTVName As String

    Dim strDate As String

    

    Dim ele As IHTMLElement

    

    Set ie = CreateObject("InternetExplorer.application")

    strURL = "https://tv.kt.com/tv/channel/pChInfo.asp"

    

    ie.navigate strURL

    ie.Visible = True

    

    Do While (ie.readyState <> READYSTATE_COMPLETE Or ie.Busy = True)

        DoEvents

    Loop

    

    '1초 추가 대기

    Application.Wait (Now + TimeValue("00:00:01"))

    

    nCnt = Range("A60000").End(xlUp).Row

    

    For i = 0 To 10

        ie.document.getElementById("linkChannel" & i).Click

        

        'TV명 가져오기

        strTVName = ie.document.getElementById("linkChannel" & i).innerText

        

        Application.Wait (Now + TimeValue("00:00:01"))

        

        '날짜 가져오기

        strDate = ie.document.getElementsByClassName("day")(0).innerText

        

        '프로그램 및 장르 가져오기

        For Each ele In ie.document.getElementsByClassName("program")

            If ele.parentElement.parentElement.parentElement.className = "board tb_schedule" Then

                Range("A" & nCnt) = strDate

                Range("B" & nCnt) = strTVName

                Range("C" & nCnt) = ele.innerText '프로그램

                Range("D" & nCnt) = ele.nextElementSibling.innerText '장르

                

                nCnt = nCnt + 1

            End If

        Next ele

    Next i

    

    ie.Quit

    Set ie = Nothing

    

End Sub

 
 
질문 보고 갑자기 궁금하여 공부하였습니다. 편안한 밤 되십시오. 꾸~벅
번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4330 소프트웨어| PE 에서 바로 가기 생성 배치 파일에 대한 고찰 [17] 지후빠 2112 25 08-28
4329 윈 도 우| BCD 백업 및 복구 프로그램 입니다 [11] 지룡자 3108 25 12-10
4328 윈 도 우| [팁] MBR 디스크에 EFI 시스템 파티션 만들기 [16] suk 5637 25 04-19
4327 소프트웨어| WinNTSetup.exe에 소소한 팁들 [18] suk 3475 25 03-09
4326 소프트웨어| 디지털 포렌식 툴 - FTK imager [15] 오스 5043 25 01-28
4325 소프트웨어| Total Commander 9.5x 32비트 및 64비트용 한국어 확장 메... [11] VenusGirl 4716 25 03-13
4324 소프트웨어| Win10PE 2016_LTSB_x64 PE 만들기 [24] 대추사랑 5976 25 02-12
4323 윈 도 우| 나만의 PE를 만들자 실전편 3탄 PE고수되기1편 (윈도우10PE... [94] 지연서연아 8674 25 09-01
4322 윈 도 우| W7-8PE Builder제작/완성/수정하여 다시첩부 UP/처음사용자용 [21] 까꾸리 12561 25 06-03
4321 소프트웨어| (추가3) 배치파일 추가기능 extd.exe 사용 팁 [7] 지후빠 954 24 08-13
4320 소프트웨어| pureBasic - FMIFS FormatEX 0.1.2 [6] 입니다 991 24 12-08
4319 소프트웨어| 특정 프로그램을 인터넷 차단하는 방법(인증문제 등...) [3] 사랑이7 2595 24 05-26
4318 윈 도 우| [실사] 윈도우11 프로 VHD 설치 방법 [11] 무월 3123 24 05-08
4317 윈 도 우| [실사] 윈도우11&10 BCD 부팅 오류, 부트 복구(설치) [16] 무월 2474 24 12-05
4316 윈 도 우| 추가)PE 우측하단 워터마크에 각종 정보 넣기 [14] 히이이잌 2697 24 06-16
4315 윈 도 우| 나만의 PE를 만들자 실전편 4탄 PE고수되기2편 (윈도우10PE... [74] 지연서연아 6521 24 09-05
4314 윈 도 우| PE를 실컴에 설치하여 사용하는 방법 [33] 카리스마조 15529 24 05-14
4313 소프트웨어| RSImagex 에디션 WIM 통합 플래쉬 동영상 강좌... [75] 아이언 10101 24 04-29
4312 소프트웨어| 한글(HWP) 바탕문서와 한글 스타일 사용으로 칼퇴하기^^ [5] 승승아빠 1182 23 04-27
4311 소프트웨어| 탐색기 컨텍스트 메뉴에 토탈커맨더에서 열기 추가 [15] 지후빠 977 23 07-16
XE1.11.6 Layout1.4.8