데이터 크롤링이 어렵나요? Automa 플러그인이 쉽게 도와드립니다!

AI 실습 튜토리얼7개월 전 업데이트 AI 공유 서클
1.9K 00

이러한 문제가 발생하고 있나요?"수동으로 데이터를 복사하여 붙여넣는 것은 시간이 너무 많이 걸리고 비효율적입니다.".;"웹 페이지 데이터를 대량으로 수집하고 싶은데 코드를 작성하는 방법을 모르겠어요.".;"다른 크롤러 도구를 사용해 보았지만 너무 복잡하고 비용이 많이 들어 배우기 어려웠습니다.".;"크롤러가 사이트에서 금지될까 봐 걱정되는데 어떻게 대처해야 할지 모르겠습니다.".

걱정하지 마세요! 오늘은 다음 기능을 사용하는 방법을 알려드리겠습니다. Automa 이 인공물은 데이터 크롤링을 쉽고 효율적으로 만들어줍니다!

 

1. Automa: 코드가 필요 없는 데이터 수집 도우미

数据爬取难?Automa插件帮你轻松搞定!

Automa 플러그인 인터페이스 개요

Automa는 강력한 Chrome용 자동화 플러그인입니다. 다음과 같은 기능을 지원합니다."웹 검색 자동화, 데이터 수집 일괄 처리, 다양한 형식으로 데이터 내보내기, 시간 제한 작업 설정 등을 할 수 있습니다..

가장 중요한 것은:"코드를 전혀 작성할 필요 없이 시각적 인터페이스를 통해 수행하면 됩니다!"

 

2. 초보자에서 마스터로: 데이터 크롤링의 3단계

1단계: 설치 및 기본 설정

Chrome 상점에서 'Automa'를 검색하여 설치한 후 브라우저 오른쪽 상단의 Automa 아이콘을 클릭하고 새 워크플로를 만듭니다.

数据爬取难?Automa插件帮你轻松搞定!

Chrome 스토어 설치 화면

数据爬取难?Automa插件帮你轻松搞定!

오토마 플러그인 위치

数据爬取难?Automa插件帮你轻松搞定!

워크플로 생성 화면

 

2단계: 워크플로 설계

이커머스 제품 데이터 크롤링을 예로 들어보겠습니다."핵심 단계"포함되어 있습니다:"시작 페이지 설정, 페이징을 처리하기 위한 루핑 블록 추가, 제품 정보 추출, 마지막으로 데이터 내보내기"..

3단계: 실행 및 최적화

데이터 수집의 안정성과 효율성을 보장하기 위해"페이지 로딩이 완료될 때까지 기다릴 수 있는 적절한 지연 시간을 설정해야 합니다.". 동시에 다음을 수행하는 것이 중요합니다."의도하지 않은 중단을 방지하기 위해 오류 처리 메커니즘을 추가하세요.".

 

3. 실제 사례: 작은 고구마 핫 포스트 데이터 수집

오토마 핵심 컨셉 노트

본론으로 들어가기 전에 Automa의 핵심 개념 몇 가지를 살펴보겠습니다:

  1. 워크플로 (워크플로): 전체 작업 흐름을 위한 컨테이너
  2. 블록: 각 특정 기능 모듈
  3. 선택기: 웹 페이지에서 요소를 배치하는 도구입니다.
  4. 변수: 임시 데이터를 저장합니다.
  5. 트리거: 워크플로를 시작하는 조건입니다.
  6. 표: 데이터를 수집하고 정리하기 위한 양식입니다.
数据爬取难?Automa插件帮你轻松搞定!

워크플로 자동화 기본 사항 개요

 

사례 연구

작은 고구마 핫 노트 데이터 수집을 예로 들어 Automa를 사용하여 핫 노트 데이터를 수집하는 방법을 살펴보겠습니다. 핵심은 직접 수동으로 수집하는 프로세스를 모방한 다음 Automa를 사용하여 자동화하는 것입니다.

数据爬取难?Automa插件帮你轻松搞定!

리틀 레드북 데이터 수집 프로세스

먼저, 오토마를 사용하여 리틀 레드북 데이터를 수집하는 방법을 살펴봅시다. 전체 프로세스는 다음 단계로 나뉩니다.

워크플로 만들기 및 트리거 구성하기

"샤오홍슈 데이터 수집"이라는 워크플로우를 만듭니다. 트리거에서 검색할 키워드를 입력하는 데 사용되는 "key_word"라는 매개변수를 추가합니다. 이 매개변수의 기본값은 "독립 개발자"로 설정되어 있습니다.

数据爬取难?Automa插件帮你轻松搞定!

트리거 구성

대상 페이지를 열고 검색

새 탭 블록을 사용하여 작은 빨간 책 홈페이지(https://www.xiaohongshu.com/explore)를 엽니다. 그런 다음 양식 블록을 사용하여 검색 상자를 배치합니다.

요소로 선택하는 방법

  1. 대시보드 사이드바에서 다음 아이콘을 찾아 페이지에 액세스하여 요소를 선택합니다.
    数据爬取难?Automa插件帮你轻松搞定!

    선택기 가져오기

  2. 캡처 페이지에서 요소를 선택하고 오른쪽 상단 모서리에 있는 복사 버튼을 클릭합니다.
    数据爬取难?Automa插件帮你轻松搞定!

    복사 선택기

  3. 이전 단계에서 선택한 요소를 Automa의 CSS 셀렉터에 붙여넣습니다.
    数据爬取难?Automa插件帮你轻松搞定!

    붙여넣기 선택기

주기적 데이터 수집

루프 요소 블록을 사용해 노트 목록을 반복합니다. 노트 목록의 선택기를 가져와야 합니다:

  1. 노트 목록 페이지에서 노트 커버를 마우스 오른쪽 버튼으로 클릭합니다.
  2. Automa 선택기 가져오기 도구로 '.note-item .cover' 선택기를 가져옵니다.
数据爬取难?Automa插件帮你轻松搞定!

주기적 구성

게시물을 열고 세부 정보를 확인하세요.

루프에서 각 노트를 클릭해 상세 페이지로 이동해야 합니다. 여기서 주의해야 할 점은 다음과 같습니다.

  1. "페이지가 로드되기를 기다리는 중"대기 요소 블록을 사용하여 페이지가 완전히 로드되는지 확인합니다.
  2. "노트의 표지를 클릭하세요."클릭 요소 블록을 사용하여 각 노트 커버를 클릭합니다.
  3. "세부 정보 페이지가 로드될 때까지 기다림"대기 요소 블록을 사용하여 세부 정보 페이지가 완전히 로드되었는지 확인합니다.
    数据爬取难?Automa插件帮你轻松搞定!

    오픈 엘리먼트 회로도

각 루프에서 수집된 데이터 선택기 수집 방법:

  1. KOL 이름: 작성자 이름 오른쪽 클릭 > 확인 > 선택기 "a.name" 복사하기
  2. 참고 제목: 선택자 "div#detail-title"
  3. 노트 내용: 선택기 "#detail-desc > .note-text > 스팬"
  4. 대화형 데이터.
    • 좋아요: ".left > .like-wrapper > .count"
    • 수집 개수: "#노트-페이지-수집-보드-가이드 > .count"
    • 댓글 수: ".chat-wrapper > .count"
数据爬取难?Automa插件帮你轻松搞定!

선택기 예제

데이터 내보내기

마지막으로 데이터 내보내기 블록을 사용하여 수집된 데이터를 CSV 형식으로 내보냅니다.

  • 선택기가 정확하지 않은 경우 XPath를 사용해 보세요.
  • 페이지가 로드될 때까지 기다릴 수 있도록 적절한 지연 시간을 추가합니다.
  • 셀렉터 오류를 정기적으로 확인
  • 한 번에 20개 이하의 데이터를 수집하는 것이 좋습니다.
  • 수집 빈도를 조절하고 자주 수집하지 마십시오.

전체 워크플로는 합리적인 지연 제어와 선택기 위치 지정을 통해 데이터 수집 작업을 안정적으로 완료할 수 있습니다. 동시에 매개변수화된 구성을 통해 다양한 요구에 따라 수집 키워드를 편리하게 조정할 수 있습니다.

4. 자주 묻는 질문 및 해결 방법

동적 선택기 설명

유사한 요소를 여러 개 수집할 때 동적 선택기를 사용해야 하는 경우가 많습니다. 실제 사례를 통해 이를 배워보겠습니다.

이 선택기를 예로 들어 보겠습니다.

!!.note-item:nth-child({{loopData.loopId.$index+1}}) .cover

이 선택기는 복잡해 보이므로 단계별로 세분화해 보겠습니다.

!! 접두사는 CSS 선택기 대신 자바스크립트 선택기를 사용하기 위한 Automa의 특수 구문으로, 보다 유연한 선택 방법을 사용할 수 있습니다.

.note-item일반적으로 목록에서 각 게시물의 컨테이너인 '노트 항목' 클래스가 있는 요소를 선택합니다.

:nth-child()는 괄호 안에 숫자 또는 표현식을 사용하여 특정 위치에서 하위 요소를 선택하는 데 사용되는 CSS 하위 요소 선택기입니다.

{{loopData.loopId.$index+1}}정곡을 찌르세요{{}}는 오토마의 변수 구문입니다.loopData.loopId.$index는 루프의 현재 인덱스(0부터 시작)이고+1그 이유는:nth-child1부터 세기 시작합니다.

.cover최종 대상 요소(이 경우 게시물의 표지 이미지)를 선택합니다.

다음과 같이 루프 블록을 구성합니다.

{
  selector: "!!.note-item:nth-child({{loopData.loopId.$index+1}}) .cover",
  timeout: 5000
}

왜 이런 식으로 쓰일까요? 동적 포지셔닝이 가능하기 때문입니다.

  • 1주기. .note-item:nth-child(1) .cover
  • 2주기. .note-item:nth-child(2) .cover
  • 3주기. .note-item:nth-child(3) .cover
  • 등등...

이렇게 하면 고정 선택기의 문제를 피할 수 있습니다.

/* 错误写法 */
.note-item .cover  // 会选中所有cover元素

/* 正确写法 */
!!.note-item:nth-child({{loopData.loopId.$index+1}}) .cover  // 精确选择当前循环的元素

선택기가 올바른지 확실하지 않은 경우 브라우저 콘솔에서 테스트할 수 있습니다.

// 假设当前是第3次循环
document.querySelector('.note-item:nth-child(3) .cover')

Automa의 로깅 기능도 사용할 수 있습니다.

{
  type: "log",
  message: "当前选择器: .note-item:nth-child({{loopData.loopId.$index+1}}) .cover"
}

이러한 동적 선택기 접근 방식을 통해 각 루프에서 대상 요소를 정확하게 찾고, 잘못된 요소를 선택하지 않으며, 워크플로우의 안정성과 정확성을 향상시킬 수 있습니다. 선택기 작성은 데이터 수집에서 가장 중요한 부분 중 하나이며, 동적 선택기를 합리적으로 사용하면 워크플로를 더욱 견고하고 안정적으로 만들 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...