Colab 및 광고 도구를 사용하여 사용자 지정 크롤러를 구축하는 방법

게시 됨: 2022-05-25

이 동영상에서는 Google Colab, Advertools 및 기타 Python 라이브러리를 사용하여 사용자 지정 크롤러를 만드는 방법에 대해 설명합니다. 겁에 질리거나 움츠러들기 전에 하지 마세요. 심호흡을 하세요. 괜찮을거야. 나는 코더라고 선언하지도 않지만, 내가 꽤 잘하는 것은 복사 및 붙여 넣기입니다. 나는 당신이 저처럼 Ctrl+C 버튼을 잘 사용할 수 있다는 것을 알고 있습니다. 맞춤형 SEO 크롤러를 생성하는 방법과 고유한 문제를 해결하는 데 도움이 되도록 작동하는 방법을 살펴보겠습니다.

자원

  • 여기에서 Colab에 액세스하세요.
  • 여기에서 Advertools에 대해 자세히 알아보세요.

동영상 대본:

Google Colab과 Python 라이브러리인 Advertools를 사용하여 맞춤 크롤러를 구축하는 방법을 살펴보겠습니다.

SEO 크롤러(Spider)란 무엇입니까?

크롤러는 검색 엔진과 매우 유사한 방식으로 웹사이트 페이지를 크롤링할 수 있는 도구이며 귀중한 SEO 정보를 얻는 데 도움이 됩니다. Google, Bing 또는 기타 검색 엔진이 우리 사이트를 보는 방식으로 웹사이트를 보는 데 도움이 됩니다. 이 작업을 수행하는 도구가 있습니다. 이 작업을 수행하는 여러 도구가 있으며 가장 인기 있는 것은 아마도 Screaming Frog SEO Spider일 것입니다. 이것은 우리가 항상 사랑하고 사용하는 도구이지만 때로는 사용자 정의 솔루션이 필요합니다.

왜 나만의 크롤러를 만드시겠습니까?

대부분의 '기성품' 크롤러는 놀라운 작업을 수행하지만 때로는 답변이 필요한 특정 질문이 있고 모든 출력을 제어하기 위해 사용자 지정 크롤러를 만들 수 있습니다. 당신이 원하거나 필요로 하는 데이터만 얻을 수 있습니다. 이렇게 하면 도구 설정의 제약을 받을 필요가 없지만 Colab 및 파이썬.

애드버툴이란?

Advertools는 많은 작업을 수행할 수 있는 Python 라이브러리입니다. 웹사이트를 크롤링하고, 검색 엔진 마케팅 캠페인을 위한 키워드를 생성하고, 텍스트 광고를 만들고, SERP를 분석하고, 소셜 미디어 게시물에 대한 통찰력을 얻고, 훨씬 더 많은 일을 할 수 있습니다. 매우 유연한 라이브러리입니다. 그것은 많은 멋진 일을하고 사용하기가 상당히 간단합니다.

나는 스스로를 프로그래머라고 부르지 않을 것이다. 그냥 복사해서 붙여넣기만 하면 된다고 합니다. 저는 심층 Python 프로그래머는 아니지만 Advertools와 같은 도구를 사용하여 많은 이점을 얻을 수 있었습니다.

우리가 할 일

이것이 이 비디오에서 할 일입니다.

  1. 새 Colab 파일 생성 및 Advertools 설치
  2. 광고 도구를 사용하여 사용자 정의 크롤러 만들기
  3. 웹사이트 및 데이터 크롤링 및 분석
  4. Plotly라는 다른 Python 라이브러리를 사용하여 이러한 결과 중 일부를 시각화합니다.
  5. 데이터 내보내기

1단계: Colab 파일 생성 및 Advertools 설치

Google Colab은 여러 가지 멋진 작업을 수행할 수 있게 해주는 도구입니다. 이를 통해 셀 내에서 코드를 실행하여 테이블을 작성하고, 자체 프로그램을 작성하고, 기계 학습에서 SEO에 이르기까지 사용자 정의 작업을 수행할 수 있습니다. 이전에 사용한 적이 없다면 무료로 사용할 수 있으며 Google의 계산 능력을 무료로 활용할 수 있습니다. 너무 멋있으니 꼭 한번 가보시길 추천합니다.

아직 CoLab을 사용하고 있지 않다면 여기에 훌륭한 리소스가 많이 있습니다. Python 외부에 있는 라이브러리를 사용하기 위해 해야 할 일 중 하나는 자연 설치입니다. 해당 프로그램을 설치해야 합니다. 대부분의 경우 PIP라는 함수를 사용하고 새 라이브러리를 가져옵니다. 사용하는 방법은 상당히 간단합니다.

이 프로그램을 만드는 모든 사람들이 하는 일 중 하나는 문서 내에서 프로그램을 설정하는 방법을 정확히 보여 주는 것입니다. 따라서 항상 이 문서를 읽고 "이 도구를 가져오고 이러한 도구를 스스로 작동하게 하려면 어떻게 해야 합니까?"를 이해할 수 있을 것입니다.

Advertools를 설치하기 위해 바로 여기에서 이 코드 줄을 사용할 것입니다.

!pip install advertools

CoLab의 셀 블록에 코드를 입력했으면 계속해서 재생 버튼을 누르십시오. 이 코드 블록을 실행합니다. 이제 이 라이브러리를 사용하여 크롤러를 빌드할 수 있도록 여기에 코드와 전체 패키지를 설치하는 것과 같은 것이 표시되어야 합니다. 녹색 체크 표시가 보이면 완료된 것입니다.

2단계: Advertools를 사용하여 사용자 지정 크롤러 만들기

다음으로 새 코드 줄을 실행하려고 합니다.

import advertools as adv
from advertools import crawl
import pandas as pd
 

계속해서 여기에서 코드 버튼을 누르면 이 새 버튼이 채워집니다. Advertools 라이브러리의 특정 부분을 가져올 것입니다. 광고 도구를 가져오고 크롤링 방법을 가져옵니다. 우리는 또한 판다라고 불리는 것을 수입하고 있습니다. Python에 익숙하지 않은 분들을 위해 pandas를 사용하면 기본적으로 Python 내에서 테이블을 만드는 데이터 프레임 내부의 데이터로 작업할 수 있습니다.

이 모든 것을 설정했으면 계속해서 코드를 다시 실행합니다. 이 모든 정보를 가져올 것입니다. 크롤링을 구축하고 있다면 여기에서 우리가 이 작업을 수행하는 방법, 이러한 크롤링을 가져올 수 있는 방법에 대해 이야기하고 있음을 알 수 있습니다. 몇 가지 접근 방식이 있습니다. 우리가 했던 것처럼 Advertools를 가져오고 이 명령줄을 실행할 수 있습니다. 그러면 우리가 하는 일을 할 수 있습니다.

저는 팀원 중 누군가가 Colab을 활용하려는 경우를 대비하여 Colab을 좀 더 쉽게 사용할 수 있도록 하고 싶습니다. 우리는 그들이 여기에서 보여주는 것과 조금 다른 것을 할 것입니다. 그러나 이 접근 방식을 따른다면 올바르게 작동하게 될 것입니다.

site = "https://simplifiedsearch.net/" #@param {type:"string"}

crawl(site, 'simp.jl' , follow_links= True )
crawl_df = pd.read_json( 'simp.jl' , lines= True )
crawl_df.head()
 

우리가 할 일은 이 코드 줄입니다. 우리가 할 첫 번째 일은 변수를 정의하는 것이며 변수는 우리가 크롤링하려는 웹사이트가 될 것입니다. 이 매개변수 유형 문자열을 사용하면 여기에 상자가 표시되고 여기에서 크롤링할 웹사이트를 입력할 수 있습니다. 내 웹사이트를 여기에 넣을 수 있습니다. 여기에 어떤 웹사이트라도 넣을 수 있고 그것은 저를 위해 그 변수를 설정할 것입니다. 이렇게 하면 여기에 입력할 필요가 없습니다. 양식에 입력할 수 있으며 셀 상자 내부를 클릭하는 것이 불편한 사람은 여기로 이동하여 한 면을 입력할 수 있습니다.

이 경우 항상 사용하기 때문에 단순화된 검색 사이트를 사용합니다. 계속해서 여기에 붙여넣겠습니다. 바로 아래에서 우리는 그들이 여기에서 설정한 것과 똑같은 규칙을 따르고 있습니다. Advertools.crawl을 사용하고 있으며 사이트를 변수로 사용하고 있습니다. 출력 파일이 있습니다. 그런 다음 웹 사이트 내의 링크를 따르기를 원합니다.

크롤링 데이터 프레임을 설정하는 다음 단계도 수행하고 JSON으로 출력할 것이기 때문에 출력 파일을 열도록 지시합니다. 팬더는 JSON을 읽고 우리를 위해 데이터 프레임을 생성할 것입니다. 결국, 모든 것이 의도한 대로 작동하는지 확인하기 위해 이 데이터 프레임의 헤드를 보여주라고 말하고 있습니다. 이 단계를 수행하고 이 셀을 실행하면 웹 사이트를 크롤링하고 아래에서 데이터 덤프를 수행하고 이 크롤링 내에서 다양한 기능을 모두 볼 수 있습니다.

이 셀을 실행하겠습니다. 전체 웹사이트의 크롤링을 실행하고 있기 때문에 몇 분 정도 걸릴 수 있습니다. 작업이 끝나면 크롤링 데이터를 활용하여 특정 정보를 추출하는 방법에 대해 이야기하겠습니다.

3단계: 웹사이트 및 데이터 크롤링 및 분석

이제 사이트가 크롤링되었으며 URL, 제목, 메타 설명, 관점, 문자 집합, H1, H2 및 H3 목록이 있는 것을 볼 수 있습니다. 이 모든 정보가 이 프레임에 포함됩니다. 좀 더 깔끔하게 보고 싶다면 바로 여기에서 이 마법의 버튼을 누르세요. 그러면 Google에서 이 데이터를 작업하기 조금 더 쉬운 데이터 프레임으로 전송할 것입니다. 여기에 총 266개의 열이 있습니다. 이 정도면 제가 작업할 수 있는 열이 많습니다.

이 모든 열에 무엇이 들어 있는지 스스로에게 물어볼 수 있습니다. 여기 광고 도구로 돌아가서 다양한 요소를 모두 볼 수 있습니다. 우리가 보고 많은 멋진 정보를 가져올 수 있는 내보내기 데이터가 꽤 있습니다.

사용 가능한 모든 다른 열의 목록을 보려면 다음 코드를 실행할 수 있습니다.

columns = list (crawl_df)
columns
 

먼저 열을 가져와서 목록을 만들어야 합니다. 코드 목록을 사용한 다음 괄호를 넣고 데이터 프레임의 이름인 crawl_DF 내부에 새 목록 열을 호출합니다. 여기에 열이 있고 해당 셀을 실행하면 가능한 다양한 열을 모두 볼 수 있습니다. 보시는 바와 같이 상당히 많은 양의 정보를 찾고 있습니다.

해당 정보의 일부만 보고 싶다면 어떻게 하시겠습니까? 모든 제목이나 모든 메타 설명 또는 일부 H 태그 정보를 얻고자 하거나 모든 페이지와 해당 페이지에 있을 수 있는 schema.org 마크업 유형을 보고 싶다면 어떻게 해야 할까요? Advertools와 같은 것이 있으면 편리합니다.

페이지 전체에서 JSON-LD 유형을 살펴보고 싶다고 가정해 보겠습니다.

json_df = crawl_df[[ 'url' , 'jsonld_@type' ]]
json_df
 

새로운 코드로 시작할 수 있습니다. JSON-DF라는 새 데이터 프레임을 생성해 보겠습니다. 우리는 원래 데이터 프레임에서 일부 정보를 얻고 싶습니다. 우리가 하려는 첫 번째 일은 모든 사람이 쉽게 크롤링할 수 있도록 여기로 조금 내려가겠습니다. _DF. 브래킷과 다른 브래킷을 사용할 것입니다.

가장 먼저 가져오고 싶은 것은 URL입니다. 사이트 내의 모든 페이지, 모든 URL을 알아야 하기 때문에 URL이 중요하다는 것을 알고 있습니다. 다음으로 하고 싶은 일은 JSON 유형을 찾는 것입니다. 이 목록으로 돌아가서 JSON 유형으로 이동하여 복사하여 JSON 유형도 알고 싶습니다. 저는 이를 일관되게 유지하여 모범 사례를 따르도록 하겠습니다. 여기 이 작은 줄에서 무엇을 합니까? 우리는 '새 데이터 프레임을 생성'하고 원래 데이터베이스의 데이터를 사용하고 원래 데이터 프레임의 데이터를 사용하고 URL과 JSON-LD 유형만 가져옵니다.

이것을 실행하면 해당 정보만으로 새 데이터 프레임이 생성됩니다. 이 데이터를 보려면 JSON_DF를 입력하고 새 셀을 만들고 Enter 키를 누르기만 하면 됩니다. 내 모든 페이지의 목록과 해당 특정 페이지와 연결된 마크업 유형을 제공합니다. 이것은 웹사이트에서 모든 JSON, 보유하고 있는 유형, 보유하고 있는 마크업을 빠르게 찾고 찾고자 할 때 매우 유용할 수 있습니다.

또한 마크업이 누락된 페이지가 있습니까? 빠르게 식별할 수 있습니다. 모든 URL과 해당 페이지에 존재하는 모든 JSON-LD 유형이 있는 이 새로운 데이터가 있습니다.

4단계: 결과 시각화

클라이언트나 다른 사람에게 표시할 빠른 보고서나 그래프, 또는 이 사이트에 추가한 정보와 데이터의 양과 다양한 유형의 정보를 만들고 싶다고 가정해 보겠습니다.

가장 먼저 해야 할 일은 추가된 다양한 유형의 마크업을 모두 계산한 다음 시각화하는 것입니다. 이것을 계산하고 새 데이터 프레임을 만드는 것으로 시작하겠습니다. 나는 이미 이 코드를 만들었고 그것을 통해 당신을 안내할 것입니다:

json_counts = json_df[ 'jsonld_@type' ].value_counts()
json_counts = json_counts.reset_index()
json_counts

JSON 카운트라고 합니다. 이것은 새로운 데이터 프레임입니다. 여기 JSON-LD 열에서 데이터를 가져옵니다. 이 열에 있는 고유한 값을 계산하도록 합니다. 이 코드를 실행한 다음 출력하도록 지시하면 해당 정보가 모두 계산되었음을 알 수 있습니다.

그것이 하는 일은 목록에서 일부 0 또는 일부 NAS를 찾기 때문에 이 오류가 발생한다는 것입니다. 여기에서 해당 정보를 얻었다는 것을 곧 알게 되실 것이기 때문에 괜찮습니다. 여기에 다양한 마크업 유형이 있으며 모두 우리를 위해 마련되었습니다.

당신은 또한 그것이 여기에 있는 것과 같은 데이터 프레임처럼 보이지 않는다는 것을 알아차리고 있습니다. 이 데이터 프레임 또는 이 변수가 제대로 작동하려면 데이터 프레임으로 다시 인덱싱해야 합니다. 계속해서 데이터 프레임을 제공하고 다음 코드를 실행합니다.

json_counts = json_counts.reset_index()

 

이것을 실행하면 데이터 프레임이 있는 것을 볼 수 있습니다. 용어인 인덱스가 있습니다. 그런 다음 JSON-LD 유형과 해당 개수가 있습니다. 아직 그래프가 없습니다. 아직 다른 데이터 프레임이 있습니다. 이 데이터 프레임을 시각화 또는 그래프로 바꾸려면 어떻게 해야 합니까? 우리는 Plotly라는 것을 사용할 것입니다.

Plotly는 시각화를 만드는 데 사용할 수 있는 Advertools와 매우 유사한 또 다른 라이브러리입니다. 특히 Plotly express를 사용할 것입니다. 가장 먼저 해야 할 일은 Plotly를 설치하는 것입니다. PIPinstallPlotly를 실행하고 이 셀을 실행하겠습니다. 이 워크시트에 이미 설치되어 있지만 괜찮습니다. 보시다시피 이미 설치되어 있고 만족스럽다는 메시지가 표시됩니다. 가자.

여기에서 방금 복사한 코드를 크롤러에 다시 붙여넣습니다. 이것은 우리가 사용하지 않는 데이터이기 때문에 이 중간 데이터가 필요하지 않습니다. 우리는 우리 자신의 데이터를 사용하고 있습니다. Plotly express를 PX로 가져와야 하고 차트에 올바른 정보를 가져오려면 여기에 새 데이터베이스를 연결해야 합니다.

! pip install plotly
 
import plotly.express as px
fig = px.bar(json_counts, x='index', y='jsonld_@type') fig.show()
 

우리의 데이터 프레임을 JSON 카운트라고 불렀습니다. X에서는 인덱스를 사용하고 Y에서는 JSON 유형을 사용합니다. 나는 왜 그것들을 선택했는가? 인덱스는 단어가 있는 곳입니다. 우리는 X에 그것들을 갖고 싶어하고, 그 카운트는 JSON-LD @type에 있고, 그것은 우리의 Y가 될 것입니다. 그것은 우리에게 그 열들 각각에 얼마나 많은 것이 있는지 알려줄 것입니다. 우리는 계속해서 그것을 여기에 넣을 것입니다. 아주 간단합니다. 그리고 fig.show는 그 그래프를 보여줄 것입니다. 자, 여기 아래에 모든 다른 유형이 있고 여기 좋은 그래프에 각 유형의 다른 양이 있습니다.

이것을 공유하고 싶다면 PNG로 다운로드할 수 있으며 이제 Plotly가 이를 컴퓨터에 다운로드합니다. 이것을 가지고 "우리는 이 많은 페이지에 이 정도의 마크업을 넣었습니다."라고 말할 수 있습니다. 빠르게 시각화하는 아주 멋진 방법입니다.

5단계: 데이터 내보내기

그러나 이 모든 데이터를 다운로드하여 Google 시트나 다른 데이터로 작업하려면 어떻게 해야 할까요? 글쎄, 당신은 또한 그것을하기 위해 그것을 할 수 있습니다. 코드를 한 줄만 더 사용하면 됩니다. 모든 웹사이트 페이지와 JSON-LD 유형이 포함된 이 테이블을 여기에서 다운로드한다고 가정해 보겠습니다. 이 셀이나 원하는 모든 사람으로 이동할 수 있습니다. 그런 다음 새 코드 줄을 만들 것입니다.

가져오기 파일이라는 Google Colab의 것을 사용해야 합니다. 그것이 우리가 할 첫 번째 일입니다. 다음으로 JSON-DF인 이 데이터 프레임을 찾을 것입니다. 이것을 아래에 추가하고 .2_CSV라고 말한 다음 이름을 지정하겠습니다. 이것을 JSON_DF.CSV라고 부를 수 있습니다. 이 코드를 입력하면 CSV 파일이 생성됩니다. 여기 내 폴더를 살펴보면 바로 여기에 파일이 표시됩니다.

여기에서 다운로드하거나 더 빨리 다운로드하는 데 도움이 되는 코드 줄을 여기에 넣을 수 있습니다. 저는 files.download라고 말하고 방금 만든 이 파일을 호출하고 Colab에 직접 다운로드해 달라고 요청했습니다. 이 셀을 실행하면 해당 파일이 다운로드되며 여기에 있습니다. 계속해서 열기를 클릭하면 가지고 있는 모든 종류의 스프레드시트 도구로 원하는 모든 작업을 수행할 수 있는 이 CSV 파일이 있습니다. 일부 마크업이 누락된 것도 볼 수 있습니다.

당신은 그것을 가지고 있습니다. 우리는 계속해서 우리 자신의 맞춤형 크롤러를 만들었습니다. 일부 사용자 지정 데이터를 가져왔습니다. 우리는 그 데이터를 시각화했고 다른 프로그램에서 사용하기 위해 해당 데이터를 다운로드했습니다. 우리는 이 모든 것을 해냈고, 저는 컴퓨터 프로그래머가 아닙니다. 나는 컴퓨터 프로그래머인 척 하려고 하지도 않습니다. 아까도 말했듯이 복사 붙여넣기만 잘하면 됩니다. 여러분도 이런 것들을 알아낼 수 있습니다.

질문이 있으면 항상 멋진 솔루션이 있습니다. 새롭고 색다른 것을 시도하고 싶다면 Colab에서 플레이하는 것이 좋습니다. 훌륭한 자원이 많이 있습니다. 나보다 훨씬 더 똑똑한 사람들이 훨씬 더 놀라운 일을 하고 있어 내가 많은 것을 배웠고 마케팅 게임, 연구, 크롤링 등을 도왔습니다.

오늘 우리가 한 일에 대해 질문이 있으면 아래에 의견을 말하십시오. 또한 이 특정 CoLab 파일에 대한 액세스 권한을 부여하고 그 과정에서 사용한 코드를 단계별로 공유할 것입니다. 시청해주셔서 감사합니다. 구독 잊지 마시고 다음 시간까지 즐거운 마케팅 되세요.

관심이 있는 경우 전체 코드는 다음과 같습니다.