71회
엑셀 구글 검색어 크롤링 매크로 / 자동화 서식 만들기
강의노트
커리큘럼
댓글(0)
'오빠두엑셀'의 모든 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


시간대별 목차
수업 개요

1. 엑셀 VBA 매크로 기초

엑셀 매크로 편집창 구조_R

이번 강의에서는 엑셀 매크로 편집기의 구성 요소와
각 윈도우의 표시 방법 및 사용법에 대해 간략히 알아봅니다.

.

엑셀 매크로 변수 설정_R

이후 기본 명령문을 작성하고 변수를 선언하는 방법
변수를 선언해서 명령문을 작성해야 하는 이유에 대해 알아봅니다.

2. 구글 검색어 크롤링 (10줄 매크로!)

구글 검색어 가공_R

이번 강의에서는 구글 검색어 크롤링에 필요한 GetHTTP 명령문 사용법과
결과로 반환된 데이터를 실제 필요한 문장으로 가공하는 방법을 알아봅니다.

.

엑셀 구글 크롤링 매크로_R

이후 Split 함수를 사용하여 검색 결과를 원하는 단위로 나눈 뒤,
가공하여 최종 결과물을 얻는 방법에 대해 단계별로 살펴봅니다.

3. 구글 검색어 / 블로그 크롤링 서식

엑셀 구글 검색어 크롤링 서식_R

이번 강의에서는 작성한 매크로를 활용하여 GetGoogleSearch 라는 사용자함수를 만들고
구글 검색어를 실시간으로 크롤링하는 자동화 서식을 제작합니다.

.

엑셀 네이버 블로그 크롤링_R

이후 작성한 명령문을 활용하여 네이버의 블로그 검색 결과를 크롤링하는
엑셀 자동화 서식도 추가로 제작합니다.

0 0 투표
게시글평점
0 댓글
Inline Feedbacks
모든 댓글 보기
강의노트
커리큘럼
'오빠두엑셀'의 모든 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


시간대별 목차
수업 개요

1. 엑셀 VBA 매크로 기초

엑셀 매크로 편집창 구조_R

이번 강의에서는 엑셀 매크로 편집기의 구성 요소와
각 윈도우의 표시 방법 및 사용법에 대해 간략히 알아봅니다.

.

엑셀 매크로 변수 설정_R

이후 기본 명령문을 작성하고 변수를 선언하는 방법
변수를 선언해서 명령문을 작성해야 하는 이유에 대해 알아봅니다.

2. 구글 검색어 크롤링 (10줄 매크로!)

구글 검색어 가공_R

이번 강의에서는 구글 검색어 크롤링에 필요한 GetHTTP 명령문 사용법과
결과로 반환된 데이터를 실제 필요한 문장으로 가공하는 방법을 알아봅니다.

.

엑셀 구글 크롤링 매크로_R

이후 Split 함수를 사용하여 검색 결과를 원하는 단위로 나눈 뒤,
가공하여 최종 결과물을 얻는 방법에 대해 단계별로 살펴봅니다.

3. 구글 검색어 / 블로그 크롤링 서식

엑셀 구글 검색어 크롤링 서식_R

이번 강의에서는 작성한 매크로를 활용하여 GetGoogleSearch 라는 사용자함수를 만들고
구글 검색어를 실시간으로 크롤링하는 자동화 서식을 제작합니다.

.

엑셀 네이버 블로그 크롤링_R

이후 작성한 명령문을 활용하여 네이버의 블로그 검색 결과를 크롤링하는
엑셀 자동화 서식도 추가로 제작합니다.

0 0 투표
게시글평점
0
여러분의 생각을 댓글로 남겨주세요.x