어두운 proxyscrape 로고

Google 검색 결과 페이지(SERP)를 스크랩하는 방법

방법, 스크래핑, Aug-01-20215분 읽기

It needs no introduction that Google is the widely used platform for search-related queries of people across the globe. According to the Statista website, Google’s share of the global search market is 87.35%. Further, the stats have shown that Google exceeds 2 trillion users annually, indexing over 130 trillion pages.  These statistics prove that Google

전 세계 사람들이 검색 관련 쿼리를 위해 가장 널리 사용하는 플랫폼이 Google이라는 사실은 굳이 설명할 필요가 없습니다. Statista 웹사이트에 따르면 전 세계 검색 시장에서 Google의 점유율은 87.35%입니다. 또한 통계에 따르면 Google은 연간 2조 명이 넘는 사용자가 130조 개가 넘는 페이지를 색인화합니다. 

이러한 통계는 Google이 인터넷 마케터와 다른 모든 사람들에게 가치 있는 SERP에 대한 포괄적인 공개 데이터를 보유하고 있음을 증명합니다. 따라서 인터넷 마케터들 사이에서 SERP를 스크래핑하는 것이 우선순위가 되었습니다. 하지만 특정 요청 횟수를 초과하면 Google은 사용자의 IP 주소를 차단합니다.

따라서 이 글에서는 차단되지 않고 SERP를 스크랩하는 방법에 대해 자세히 설명합니다. 그 전에 웹 스크래핑의 기본에 대해 알아보겠습니다.

웹 스크래핑이란 무엇인가요?

여러 웹 페이지에서 대량의 데이터를 복사해야 한다고 가정해 봅시다. 처음에는 콘텐츠를 복사하여 스프레드시트에 붙여넣고 싶을 수 있습니다. 하지만 대용량 웹 문서이기 때문에 수동으로 데이터를 추출하려면 시간이 오래 걸립니다. 따라서 스크래핑 프로세스를 자동화해야 시간을 충분히 절약할 수 있습니다.

이러한 데이터 스크래핑 자동화 프로세스를 웹 스크래핑이라고 합니다. 이 방법을 사용하면 브라우저에 웹사이트 URL을 입력하지 않고도 HTML 소스를 다운로드할 수 있습니다.

웹 스크래핑에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 

검색 엔진 결과 페이지(SERP) 스크래핑이란 무엇인가요?

웹 스크래핑과 마찬가지로 SERP 스크래핑은 일련의 키워드에 대한 Google 검색에서 상위 10개 이상의 결과를 추출하는 프로세스입니다. 대부분의 검색 엔진 최적화(SEO) 회사는 이 기술을 사용하여 타겟 키워드에 대한 고객 웹사이트의 순위를 추적합니다. 

광고 확인, 리드 생성, 콘텐츠 집계 등 SERPS에 대해 스크래핑을 수행해야 하는 다른 이유도 있을 수 있습니다.

일반적으로 SERP에 대한 스크래핑을 수행하는 자동화 도구가 있으며, 이 글의 다음 섹션에서 자세히 알아볼 수 있습니다. 또는 Python과 같은 프로그래밍 언어를 사용하여 직접 스크립트를 만들 수도 있습니다. 하지만 코딩에 자신 있고 기술적인 전문 지식이 있는 경우에만 그렇게 할 수 있습니다. 또한 cURL을 사용하여 Google SERP를 스크랩할 수도 있습니다.

이러한 도구는 관련 웹 페이지에서 데이터를 스크랩한 후 데이터베이스, CSV 파일, XML 또는 JSON 파일로 저장합니다. 그러면 이러한 데이터는 구조화된 형식으로 저장되어 SEO 노력이 제대로 작동하고 있는지 확인할 수 있습니다. 시간 경과에 따른 페이지의 게재 위치를 확인할 수 있기 때문입니다.

또한 SERP는 텍스트 콘텐츠뿐만 아니라 이미지, 동영상, 추천 스니펫, 지역 검색 지도 등으로도 구성됩니다.

다음 섹션에서는 SERP에서 스크래핑할 때 얻을 수 있는 중요한 이점에 대해 설명합니다.

SERP 스크래핑이 해커로 인한 피해를 복구하는 데 어떻게 도움이 되나요?

해킹은 항상 부정적인 영향을 미칩니다. 해킹된 웹사이트와 로그인 자격 증명이 다크웹에 노출될 수 있습니다. 해커는 사이트에서 백링크를 판매하거나 다크웹 멀웨어를 실행할 수도 있습니다. 마찬가지로 해킹은 SEO의 맥락에도 부정적인 영향을 미칩니다.

Google에서 SERP 스크래핑의 중요한 이점 중 하나는 해커가 야기할 수 있는 잠재적 피해를 식별할 수 있다는 점입니다. SERP에서 SEO 순위를 높이기 위해 열심히 노력했다면 해커가 보안 설정에 쉽게 침투하여 모든 SEO 노력을 엉망으로 만들 수 있습니다. 

해커가 SEO 노력을 가로채는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

설문조사에 따르면 SEO 전문가의 48%는 Google이 SERF 결과의 원래 상태를 복구하는 데 수개월이 걸렸다고 답했습니다. 

웹사이트의 SERP를 추적하면 순위에 어떤 일이 일어나고 있는지 파악하는 데 도움이 됩니다. 또한 해킹이 시도되는 동안 순위의 잠재적 결과를 파악하는 데 도움이 됩니다. 따라서 Google에 이전 순위로 복원하도록 신속하게 요청할 수 있습니다. 결과적으로 사이트 다운타임과 검색 엔진 순위 하락을 크게 최소화할 수 있습니다.

반면에 웹사이트가 멀웨어에 감염되면 검색 엔진 순위가 떨어질 수 있습니다. 사이트가 블랙리스트에 오를 확률도 높아집니다. Godaddy에 따르면 소규모 비즈니스 웹 사이트의 경우 더욱 그렇습니다. Godaddy 사이트의 90%는 멀웨어에 감염된 사실을 몰랐습니다.

따라서 모든 SERP를 지속적으로 스크랩하면 잠재적인 해킹 시도를 사전에 발견할 수 있으며, Google이 검색 결과를 복구하는 데 도움이 됩니다.

Google 검색 결과를 스크랩하는 방법은 무엇인가요?

앞서 언급했듯이 Google SERP를 스크랩할 수 있는 방법에는 여러 가지가 있습니다. 이 섹션에서는 몇 가지 방법을 소개합니다.

비주얼 웹 스크레이퍼

옥토파스

Google SERP를 스크래핑하는 데 사용할 수 있는 일반적인 웹 스크레이퍼 도구입니다. SERP를 스크랩할 뿐만 아니라 Google 지도에서 데이터를 스크랩하는 데도 능숙합니다.

옥토파스의 중요한 기능 중 하나는 대상 웹사이트의 스크래핑 방지 조치를 교묘하게 피할 수 있다는 것입니다. 또한 시각적 스크래핑 도구를 사용하기 위해 프로그래머가 될 필요가 없습니다. 사용하기 매우 편리하며 클라우드 기반 솔루션과 설치 가능한 소프트웨어로 제공됩니다.

옥토파스에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

브라우저 확장

Webscraper.io 

Webscraper.io는 Google 크롬 웹 브라우저용 무료 확장 프로그램입니다. Google 웹 페이지에서 HTML 및 CSS 형식으로 데이터를 추출할 수 있습니다. 그런 다음 데이터를 CSV 형식으로 내보낼 수 있습니다. 브라우저 확장 버전은 완전히 무료이며 스크래핑 활동을 관리하기에 충분합니다. 클라우드 기반 옵션을 선택하면 비용이 발생합니다.

이 확장 프로그램을 사용하여 Google 지도를 추출하여 데이터베이스로 변환할 수도 있습니다. 이 확장 기능에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

Google 검색 API

Google에서 검색 엔진에서 데이터를 추출하는 공식적인 방법을 제공한다는 사실을 알고 계셨나요? 아래에 언급된 바와 같이 제한 사항이 있지만 현재 SERP 데이터가 필요한 모든 사람이 사용할 수 있습니다. 다음은 그 제한 사항입니다:

  • 시각적 웹 스크레이퍼, 브라우저 확장 프로그램 또는 기타 웹 스크래핑 도구에 비해 제한된 정보를 제공합니다.
  • Google은 단일 웹사이트 또는 그 이하의 웹사이트를 검색할 수 있도록 개발했습니다. 그러나 전체 월드와이드웹(WWW)을 검색하도록 구성할 수 있으며, 여기에는 많은 기술 전문 지식이 필요합니다.
  • 요청을 대량으로 보내려면 엄청난 비용이 들기 때문에 엄청나게 비쌉니다.

따라서 제한 사항과 비용으로 인해 Google 검색 API는 SERP 결과를 스크랩하기에 이상적인 플랫폼이 아닙니다. 이 글 전반에 걸쳐 언급된 대체 방법을 사용하는 것이 좋습니다.

Python, 요청 및 BeautifulSoup 사용

파이썬 코딩 전문가인 분들에게는 이 방법이 편리할 것입니다. 의심할 여지 없이 비용을 절감할 수 있고 더 많은 제어권을 가질 수 있습니다.

이 프로그램에서는 "파이썬을 배우는 방법"이라는 검색 쿼리에 대한 SERP를 추출합니다. 작업을 더 간단하게 하기 위해 검색 쿼리를 하드코딩합니다. 그런 다음 결과 집합을 가져온 후 결과의 제목을 인쇄합니다. 자세히 살펴보겠습니다.

import requests
from bs4 import BeautifulSoup
import random
 
text = 'How to learn Python programming'
url = 'https://google.com/search?q=' + text
useragent = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
       )
 
Agent = useragent[random.randrange(len(useragent))]
 
headers = {'user-agent': Agent}
req = requests.get(url, headers=headers)
 
soup = BeautifulSoup(req.text, 'lxml')
for info in soup.find_all('h3'):
    print(info.text)
    print('__________')
 

여기서는 각 코드 줄을 명확하게 설명하겠습니다:

가져오기 요청

Python의 요청 라이브러리를 사용하여 SERP를 다운로드합니다. 그런 다음 요청 모듈이 Google 서버에 get 요청을 보냅니다. 이렇게 하면 프로그램이 SERP의 HTML 콘텐츠를 다운로드할 수 있습니다.

bs4에서 BeautifulSoup 가져오기

그 다음 줄은 설명이 필요 없는데, BeautifulSoup 라이브러리를 로드합니다. 이 라이브러리를 사용하면 HTML 및 XML 문서를 구문 분석할 수 있습니다.

text = '파이썬 프로그래밍을 배우는 방법'
url = 'https://google.com/search?q=' + 텍스트

이 코드는 데이터를 스크랩할 검색 엔진의 URL을 설정하는 코드입니다. 그래서 URL은 google.com으로 설정하고, 검색 쿼리에는 텍스트 변수에 '파이썬 프로그래밍 배우기'라는 텍스트를 검색 쿼리로 추가했습니다.

useragent = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, Gecko 등) Chrome/92.0.4515.107 Safari/537.36" )

      

그런 다음 위의 코드는 사용자 에이전트 문자열을 설정합니다.

req = requests.get(url, headers=headers)

위의 코드는 웹서버에 요청을 보내 검색 결과의 요청된 HTML 콘텐츠를 다운로드하도록 합니다.

soup = BeautifulSoup(req.text, 'lxml')

위 코드가 'lxml' 파싱 헤더에서 요청한 데이터로 BeautifulSoup의 인스턴스를 생성합니다. 위 코드가 작동하려면 먼저 'lxml' 패키지를 설치해야 합니다.

soup.find_all('h3')에 정보를 넣습니다:
    print(info.text)
    print('__________')

그런 다음 for 루프를 사용하여 모든 h3 태그를 추출하여 제목을 표시합니다.

주거용 프록시를 사용하여 Google SERP 스크랩하기

앞서 언급했듯이 Google과 같은 검색 엔진은 스크래핑 한도를 초과하면 IP 주소를 금지하는 등 제한을 가합니다. 이때 프록시는 IP 주소를 마스킹하는 데 중요한 역할을 합니다. 시중에 나와 있는 프록시 중에서 주거용 프록시가 가장 이상적인 선택입니다. 주거용 프록시는 실제 주거지 소유자의 IP를 사용하기 때문입니다.

하지만 처음 몇 개의 SERP를 스크래핑하면 Google은 사용자의 행위가 비인간적이라는 사실을 알게 됩니다. 그러면 프록시의 IP 주소가 차단되고 캡차를 처리해야 합니다.

바로 이 부분에서 주거용 프록시 네트워크가 구세주 역할을 합니다. 주거용 프록시 네트워크를 사용하면 각 프록시는 고유한 IP 주소를 갖게 됩니다. 따라서 IP 주소를 회전하여 SERP에서 스크래핑할 수 있습니다. 그러면 검색 엔진에 사용자 행동이 사람으로 표시됩니다.

주거용 프록시에 대한 자세한 설명은 이 도움말 문서를 참조하세요.

주거용 프록시를 사용하여 Google SERP를 스크랩할 때의 법적 영향

지금쯤이면 주거용 프록시가 무엇이며 IP 차단을 극복하는 데 어떻게 도움이 되는지 명확하게 이해하셨을 것입니다. 이제 많은 사용자가 Google SERP에서 스크랩할 때 간과하는 중요한 요소에 대해 살펴보겠습니다. 바로 주거용 프록시 사용의 법적 영향입니다.

우선, 주거용 프록시를 사용하여 Google SERP를 스크래핑하는 것은 합법입니다. 따라서 이를 염두에 두고 Google과 같은 검색 엔진에 무제한 요청을 보내고 싶은 유혹을 받을 수 있습니다. 이렇게 하면 엄청난 수의 요청으로 Google 서버에 과부하가 걸릴 수 있습니다. 이는 Google SERP 알고리즘에 따르더라도 올바른 방법이 아닙니다.

따라서 데이터를 스크랩하려는 대상 웹사이트나 검색 엔진을 항상 존중해야 합니다. 또한 스크레이퍼가 대상 검색 엔진을 존중하는 등 가능한 최상의 스크래핑 관행을 사용해야 합니다.

귀하 또는 귀하의 프록시 제공업체가 대상 웹서버로부터 불만을 접수하면 즉시 요청을 제한하거나 스크래핑 프로세스를 중단해야 합니다. 불만 사항은 무제한 요청으로 인해 대상 웹 서버에 높은 작업 부하가 발생하고 있다는 것일 수 있습니다. 따라서 이러한 사실에 주의를 기울여야 합니다.

자주 묻는 질문

Google에서 스크랩하는 것은 불법인가요?

일반적으로 구글은 스크래퍼가 데이터를 스크랩하는 것을 좋아하지 않습니다. 이 글에서 여러 번 언급했듯이 사용자의 IP 주소를 금지할 수 있습니다. 또한 현재까지 구글은 데이터 과다 스크래핑에 대해 어떠한 조치도 취하지 않았습니다. 구글이 이러한 조치를 취한다면 SEO 업체들은 빠져나갈 구멍이 없을 것입니다.

결론

이제 웹 스크래퍼가 SERP에서 데이터를 스크랩하는 데 사용하는 다양한 방법에 대한 전반적인 지식을 얻으셨기를 바라며, 상황마다 다른 방법을 사용합니다. 마지막으로, SERP를 스크래핑하기 위해 주거용 프록시를 사용하는 방법과 그 법적 의미에 대해 배웠습니다.

이 글이 도움이 되셨기를 바라며, 앞으로도 더 많은 글을 기대해 주세요.