71회
엑셀 구글 검색어 크롤링 매크로 / 자동화 서식 만들기
강의노트
댓글(2)
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 구글 검색어 / 네이버 블로그 크롤링
    예제파일
실습파일은 영상 하단 댓글 링크에서도 제공합니다.
보충 자료

1️⃣ 이번 강의에서 사용할 VBA 코드 템플릿

Function GetGoogleSearch()
 
Dim s As String
Dim v As Variant
Dim i As Variant
 
End Function
 
Function GetHttp(URL As String, Optional formText As String, _
                                Optional isWinHttp As Boolean = False, _
                                Optional RequestHeader As Variant, _
                                Optional includeMeta As Boolean = False, _
                                Optional RequestType As String = "GET") As Object
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ GetHttp 함수
'▶ 웹에서 데이터를 받아옵니다.
'▶ 인수 설명
'_____________URL                         : 데이터를 스크랩할 웹 페이지 주소입니다.
'_____________formText                 : Encoding 된 FormText 형식으로 보내야 할 경우, Send String에 쿼리문을 추가합니다.
'_____________isWinHttp               : WinHTTP 로 요청할지 여부입니다. Redirect가 필요할 경우 True로 입력하여 WinHttp 요청을 전송합니다.
'_____________RequestHeader       : RequestHeader를 배열로 입력합니다. 반드시 짝수(한 쌍씩 이루어진) 개수로 입력되어야 합니다.
'_____________includeMeta           : TRUE 일 경우 HTML 문서위로 ResponseText를 강제 입력합니다. Meta값이 포함되어 HTML이 작성되며 innerText를 사용할 수 없습니다. 기본값은 False 입니다.
'_____________RequestType           : 요청방식입니다. 기본값은 "GET"입니다.
'▶ 사용 예제
'Dim HtmlResult As Object
'Set htmlResult = GetHttp("https://www.naver.com")
'msgbox htmlResult.body.innerHTML
'###############################################################
 
Dim oHTMLDoc As Object: Dim objHTTP As Object
Dim HTMLDoc As Object
Dim i As Long: Dim blnAgent As Boolean: blnAgent = False
Dim sUserAgent As String: sUserAgent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Mobile Safari/537.36"
 
Application.DisplayAlerts = False
 
If Left(URL, 4) <> "http" Then URL = "http://" & URL
 
Set oHTMLDoc = CreateObject("HtmlFile")
Set HTMLDoc = CreateObject("HtmlFile")
 
If isWinHttp = False Then
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Else
    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
End If
 
objHTTP.setTimeouts 3000, 3000, 3000, 3000
objHTTP.Open RequestType, URL, False
If Not IsMissing(RequestHeader) Then
    Dim vRequestHeader As Variant
    For Each vRequestHeader In RequestHeader
        Dim uHeader As Long: Dim Lheader As Long: Dim steps As Long
        uHeader = UBound(vRequestHeader): Lheader = LBound(vRequestHeader)
        If (uHeader - Lheader) Mod 2 = 0 Then GetHttp = CVErr(xlValue): Exit Function
        For i = Lheader To uHeader Step 2
            If vRequestHeader(i) = "User-Agent" Then blnAgent = True
            objHTTP.setRequestHeader vRequestHeader(i), vRequestHeader(i + 1)
        Next
    Next
End If
If blnAgent = False Then objHTTP.setRequestHeader "User-Agent", sUserAgent
 
objHTTP.send formText
 
If includeMeta = False Then
    With oHTMLDoc
        .Open
        .Write objHTTP.responseText
        .Close
    End With
Else
    oHTMLDoc.body.innerhtml = objHTTP.responseText
End If
 
Set GetHttp = oHTMLDoc
Set oHTMLDoc = Nothing
Set objHTTP = Nothing
 
Application.DisplayAlerts = True
 
End Function
관련 강의
관련 함수
버전 안내
이번 강의는 일부 버전에서 실습이 제한됩니다.
윈도우 : 엑셀 2013 이후 버전에서 사용 가능합니다.
Mac : Mac용 엑셀에서는 WinHTtp 라이브러리가 제공되지 않아 실습 진행이 불가능합니다.
시간대별 목차
주요편집영상
  1. VBA 프로젝트 강의 #1-2 - 1강

    엑셀 VBA 크롤링, 이 영상으로 마스터하세요 | 구글 검색어 실시간 조회

    엑셀 VBA를 활용한 크롤링 핵심 기초부터 활용까지, 필요한 핵심 스킬을 단계별로 알아본 후, 구글 연관검색어 조회 서식을 완성합니다.

2 댓글
Inline Feedbacks
모든 댓글 보기
강의노트
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 구글 검색어 / 네이버 블로그 크롤링
    예제파일
실습파일은 영상 하단 댓글 링크에서도 제공합니다.
💡 보충 자료 보기 (클릭!)
주요편집영상
  1. VBA 프로젝트 강의 #1-2 - 1강

    엑셀 VBA 크롤링, 이 영상으로 마스터하세요 | 구글 검색어 실시간 조회

    엑셀 VBA를 활용한 크롤링 핵심 기초부터 활용까지, 필요한 핵심 스킬을 단계별로 알아본 후, 구글 연관검색어 조회 서식을 완성합니다.

시간대별 목차
2
0
여러분의 생각을 댓글로 남겨주세요.x