노래검색사이트에서 노래 제목과 가수명을 크롤링하고 싶습니다.

VBA
작성자
나비나라
작성일
2023-08-16 15:23
조회
945
엑셀버전 : 엑셀2013

운영체제 : 윈도우11

질문 요약 : getElementsByClassName 과 getAttribute 문제인 듯 한데 도무지 해결이 안되네요...도와주세요

노래검색 사이트에서 노래 제목과 곡번호, 가수명을 크롤링하고 싶습니다.

예전에 만들었던 파일인데 어떻게 잃어버리고 다시 만들려니 도무지 생각이 안나네요

Sub kumyoung()

Dim Http As New MSXML2.ServerXMLHTTP60
Dim Html As New MSHTML.HTMLDocument
Dim URL As String
Dim drwNo As String
Dim sng As String

If Range("B2") = 0 Then Exit Sub '갯수 설정
Range("C4").CurrentRegion.Offset(1, 4).ClearContents '화면 초기화

For i = 4 To Range("B2") + 3
If Range("B" & i) = "" Then Exit Sub '빈칸이면 실행 종료

URL = "https://www.tjmedia.com/tjsong/song_search_list.asp?strType=16&strCond=1&strText=" & Range("B" & i)
sng = ""

With Http
.Open "GET", URL, False
.send
Html.body.innerHTML = .responseText
End With

On Error Resume Next

sng = Html.getElementsByClassName("youtube_auto_search").innerText
If sng <> "" Then
Cells(i, 5).Value = "'000000"
Cells(i, 6).Value = "---"
Cells(i, 7).Value = "등록된 노래가 없습니다"
End If

For Each iArticle In htmlresult.getElementsByClassName("youtube_auto_search")
Cells(i, 8) = iArticle.getAttribute("data-singer")
Cells(i, 5).Value = "'000000"
Cells(i, 6).Value = Html.getAttribute("data-singer")(1).innerText
Cells(i, 7).Value = Html.getAttribute("data-title")(0).innerText

Next

Next i

End Sub

 

getElementsByClassName 과 getAttribute 문제인 듯 한데 도무지 해결이 안되네요...도와주세요

파일 첨부합니다.

고수님들 도와 주세요...

신고
스크랩
공유
전체 4

  • 2023-08-17 15:54

    @나비나라 님 고수님들 많으시네요


  • 2023-08-16 21:39
    채택된 답변

    @나비나라 님 아래처럼 좀 단순하게 처리하고

    Sub kumyoung()
     
        Dim Html As New MSHTML.HTMLDocument
        Dim Node As Object, i As Long
     
        If Range("B2") = 0 Then Exit Sub '갯수 설정
        Range("C4").CurrentRegion.Offset(1, 4).ClearContents '화면 초기화
     
        For i = 4 To Range("B2") + 3
          If Range("B" & i) = "" Then Exit Sub '빈칸이면 실행 종료
     
          Html.Body.innerHTML = <strong><span style="color: #0000ff;">getURL</span></strong>("https://www.tjmedia.com/tjsong/song_search_list.asp?strType=16&strCond=1&strText=" & Range("B" & i))
     
          Set Node = Html.getElementsByClassName("youtube_auto_search").Item(0)
            Cells(i, 4) = "'" & Right("000000" & Node.getAttribute("data-pro"), 6)
            Cells(i, 5) = Node.getAttribute("data-singer")
            Cells(i, 6) = Node.getAttribute("data-title")
        Next i
     
    End Sub

     

    getURL 함수는 responseText를 가져오는 함수입니다.

    첨부 파일을 참고하세요.

     

     

    첨부파일 : 태진노래방-크롤링.xlsm


  • 2023-08-16 22:15

    감사합니다. 다른 방법으로 해결했습니다.


  • 2023-08-17 09:53

    @나비나라 님 좋은 정보 감사합니다


전체 16,947
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] 2024년 엑셀 공부, 이 책 한권으로 마스터하세요! (291)
오빠두엑셀 | 2022.02.03 | 추천 554 | 조회 847936
오빠두엑셀 2022.02.03 554 847936
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 304 | 조회 31567
오빠두엑셀 2021.10.28 304 31567
74651 문서서식
New 엑셀 번역 기능 질문 입니다.
Foxtail011 | 13:26 | 추천 0 | 조회 4
Foxtail011 13:26 - 4
74649 함수/공식
New 이중 데이터 유효성 질문드립니다. 엑셀파일
반흔 | 11:43 | 추천 0 | 조회 31
반흔 11:43 - 31
74648 파워쿼리/피벗
New 파워쿼리 구분기호 사라짐 (1)
Byun_inn | 11:37 | 추천 0 | 조회 35
Byun_inn 11:37 - 35
74643 파워쿼리/피벗
New 파워쿼리 구분 키워드 설정 관련 첨부파일 (8)
Byun_inn | 09:43 | 추천 0 | 조회 45
Byun_inn 09:43 - 45
74641 함수/공식
New 선택된 셀에 색상넣기 (셀에 만 적용) 수식 변경 부탁드립니다. (7)
갓바위 龍 | 09:19 | 추천 0 | 조회 39
갓바위 龍 09:19 - 39
74639 함수/공식
New 데이터유효성 검사를 통해 40배수의 수만 입력 (10)
쿠노이 | 00:21 | 추천 0 | 조회 73
쿠노이 00:21 - 73
74638 피벗테이블
New 피벗테이블 날짜 그룹화 원치 않는 범위가 뜹니다. (1)
단팥빵 | 2024.10.31 | 추천 0 | 조회 56
단팥빵 2024.10.31 - 56
74633 문서서식
New 안녕하세요 게임 시스템 테이블 작성 배우고 있는데 기초적인 부분을 잘 모르겠어서 질문 드립니다! 첨부파일 (1) 답변완료
코니 | 2024.10.31 | 추천 0 | 조회 81
코니 2024.10.31 - 81
74632 기능/도구
New 챗gpt 연동해서 이미지로 된 표의 데이터를 가져오려고 합니다.
김수현 | 2024.10.31 | 추천 0 | 조회 79
김수현 2024.10.31 - 79
74628 구글시트
New IMPORTRANGE 함수에서 칸을 늘리면 사라지는데 고정하는 방법은 없을까요? (3)
야망이 | 2024.10.31 | 추천 0 | 조회 82
야망이 2024.10.31 - 82
74627 문서서식
New 조건부 서식 문의 엑셀파일첨부파일 (5)
배고픈짐승 | 2024.10.31 | 추천 0 | 조회 96
배고픈짐승 2024.10.31 - 96
74626 파워쿼리/피벗
New [파워쿼리] 여러 파일 한번에 불러올 때 데이터 유실 첨부파일 (3)
naa**** | 2024.10.31 | 추천 0 | 조회 73
naa**** 2024.10.31 - 73
74625 VBA
New 시트이동시 유저폼 실행방법 문의 (3) 답변완료
땡이 | 2024.10.31 | 추천 0 | 조회 75
땡이 2024.10.31 - 75
74621 기능/도구
New 4개의 열 에서 같은 이름 가로로 정렬 (4)
Bukonge | 2024.10.31 | 추천 0 | 조회 74
Bukonge 2024.10.31 - 74
74618 VBA
New 유저폼에 바코드스캔시 입력속도 개선방법? (6) 답변완료
땡이 | 2024.10.31 | 추천 0 | 조회 68
땡이 2024.10.31 - 68
74616 함수/공식
New Rawdata 첨부파일 (4)
HIHUGO | 2024.10.31 | 추천 0 | 조회 75
HIHUGO 2024.10.31 - 75
74604 문서서식
New 간트차트 조건부서식 이용 문의 엑셀파일첨부파일 (3)
배고픈짐승 | 2024.10.30 | 추천 0 | 조회 87
배고픈짐승 2024.10.30 - 87
74599 함수/공식
New 이런 경우에는 무슨 함수를 써야할까요..? (2)
iwnqn | 2024.10.30 | 추천 0 | 조회 112
iwnqn 2024.10.30 - 112
74598 문서서식
New 엑셀 유효성 검사 뛰어 쓰기 문제 엑셀파일 (2) 답변완료
퉁퉁이 | 2024.10.30 | 추천 0 | 조회 81
퉁퉁이 2024.10.30 - 81
74592 함수/공식
New 여러 값들 중에서 원하는 값을 찾고 싶어요 도와주세요! 첨부파일 (9) 답변완료
저도해볼게요 | 2024.10.30 | 추천 0 | 조회 107
저도해볼게요 2024.10.30 - 107
74589 구글시트
New 한셀에 줄바꿈으로 있는 여러데이터를 한셀에 한데이터 들어가게끔 일괄로 하고 싶습니다 첨부파일 (4) 답변완료
스톤스톤 | 2024.10.30 | 추천 0 | 조회 66
스톤스톤 2024.10.30 - 66
74585 VBA
New UserForm 크기질문 첨부파일 (5) 답변완료
땡이 | 2024.10.30 | 추천 0 | 조회 83
땡이 2024.10.30 - 83
74583 함수/공식
New XLOOKUP 함수의 다중조건을 잘 모르겠습니다 첨부파일 (6)
qlcc**** | 2024.10.30 | 추천 0 | 조회 102
qlcc**** 2024.10.30 - 102
74582 함수/공식
New filter 함수에 대해 문의드립니다 (5)
김은상 | 2024.10.30 | 추천 0 | 조회 80
김은상 2024.10.30 - 80
74581 구글시트
New 구글폼 견적서 자동화 관련, 폼에서 입력된 이미지 파일을 견적서에 넣는 방법 좀 알려주시면 감사하겠습니다.
| 2024.10.30 | 추천 0 | 조회 68
2024.10.30 - 68
74572 차트/그래프
New 꺽은선 그래프의 레이블이 원복이 됩니다. 첨부파일 (3)
구리구리이 | 2024.10.30 | 추천 0 | 조회 72
구리구리이 2024.10.30 - 72
74570 함수/공식
New 배수 금액으로 순번 정하기 알려 주세요...ㅠ 엑셀파일첨부파일 (3) 답변완료
서기 | 2024.10.30 | 추천 0 | 조회 68
서기 2024.10.30 - 68
74566 함수/공식
New 두개의 열에 입력된 데이터를 순서 바꿔서 입력으로 중복일 때 골라내는 법 엑셀파일첨부파일 (1) 답변완료
문과적남자 | 2024.10.30 | 추천 0 | 조회 71
문과적남자 2024.10.30 - 71
74564 함수/공식
New 각 열별로 합 구하는 방법 첨부파일 (2) 답변완료
라핼 | 2024.10.30 | 추천 0 | 조회 88
라핼 2024.10.30 - 88
74563 함수/공식
New 필터 적용시 중복값 제외 카운트 되는 법 좀 알려주세요 ㅠㅠ 첨부파일 (1)
정재욱 | 2024.10.30 | 추천 0 | 조회 83
정재욱 2024.10.30 - 83