Skip to main content
웹 스크래핑

2025년, AI를 활용하여 거의 모든 웹사이트를 손쉽게 스크래핑하는 방법

By 2024-11-14No Comments

안녕하세요, 여러분!

오늘은 많은 웹사이트에서 데이터를 수집하는 쉬운 방법과 인간처럼 브라우저를 사용하여 작동할 수 있는 웹 스크레이퍼를 만드는 방법을 보여드리겠습니다.

이런 종류의 스크레이퍼는 Upwork와 같은 사이트에서 프리랜서 웹 스크레이핑 작업을 스스로 수행할 수 있습니다.

웹 스크레이핑은 AI 덕분에 많이 변화했습니다, 특히 2024년에.

과거에 아마존이나 월마트와 같은 대기업들은 가격 경쟁력을 유지하기 위해 다른 웹사이트에서 데이터를 스크랩하는 데 많은 시간과 비용을 투자해야 했습니다.

그들은 브라우저가 하는 일을 복사하여 웹사이트의 HTML을 가져오기 위해 요청을 보내고, 원하는 정보를 찾고 얻기 위해 특별한 코드를 사용했습니다.

각 웹사이트가 다르기 때문에 이것은 어려웠습니다. 만약 웹사이트 디자인이 변경되면 스크레이퍼는 작동을 멈추게 됩니다. 이는 기업들이 스크레이퍼를 수정하고 업데이트하는 데 더 많은 시간을 소비해야 함을 의미했습니다.

예를 들어 아마존이 동일한 제품에 대해 월마트가 부르는 가격을 감시하고 싶다고 가정해 보겠습니다. 이를 위해 아마존은 월마트의 사이트에 맞춘 스크레이퍼가 필요합니다.

하지만 월마트가 사이트를 변경하면 아마존은 스크레이퍼를 업데이트해야 합니다.

이는 시간과 비용이 많이 소모됩니다.

스크레이퍼가 필요한 것은 대기업만이 아닙니다.

Upwork와 같은 프리랜서 웹사이트를 확인하면 연락처 정보 찾기, 가격 추적, 시장 조사 또는 구인 목록 작성 등의 작업을 위한 스크레이퍼 제작자를 찾는 많은 소규모 기업을 볼 수 있습니다.

예를 들어, 작은 스타트업은 자사 가격을 설정하기 위해 다양한 전자상거래 웹사이트에서 제품 가격을 모니터링해야 할 수 있습니다.

AI 이전에는 소규모 기업이 이러한 솔루션을 얻는 것이 어렵고 비용이 많이 들었습니다.

현재는 대형 언어 모델(LLM)과 새로운 도구 덕분에 웹 스크레이퍼를 만드는 것이 훨씬 더 쉽고 저렴해졌습니다.

개발자가 구축하는 데 일주일이 걸리던 작업이 이제는 몇 시간 안에 완료될 수 있습니다. LLM은 다양한 웹사이트 구조를 더 스마트하게 이해할 수 있어, 매번 작은 변화가 생길 때마다 스크레이퍼를 다시 작성할 필요가 없습니다.

효과적으로 데이터를 스크랩하는 방법과 간단한 웹사이트부터 아주 복잡한 웹사이트까지 다양한 유형의 웹사이트를 처리하는 방법에 대해 이야기해 보겠습니다.

이것을 세 가지 그룹으로 나누어 설명하겠습니다:

  • 간단한 공개 웹사이트
  • 더 복잡한 워크플로우가 필요한 웹사이트
  • 스마트 에이전트가 필요한 고급 사례

간단한 공개 웹사이트 스크래핑

None

https://simple.wikipedia.org/wiki/Main_Page

간단한 공개 웹사이트는 로그인이나 결제가 필요 없는 위키피디아나 회사 웹사이트와 같은 페이지입니다.

이러한 사이트는 서로 다른 레이아웃을 가지고 있어서 여전히 도전적일 수 있지만, 대규모 언어 모델 덕분에 이 작업이 훨씬 쉬워졌습니다.

예를 들어, 학교 프로젝트를 위해 위키피디아에서 다양한 식물에 대한 정보를 수집해야 한다고 가정해 보겠습니다.

과거에는 각 페이지의 HTML 코드를 살펴보고 필요한 데이터가 있는 태그를 찾아서 그 데이터를 가져오기 위한 맞춤형 코드를 작성해야 했습니다.

모든 페이지에 대해 이렇게 하는 것은 많은 작업이었습니다.

하지만 이제 LLMs를 사용하면 원시 HTML을 AI에게 제공하기만 하면 AI가 데이터를 추출해 줄 수 있습니다.

None

view-source:https://simple.wikipedia.org/wiki/Red_Hot_Chili_Peppers

원하는 데이터가 무엇인지 정확하게 지정할 수 있습니다. 예를 들어, “식물의 이름, 설명 및 관리 팁을 가져와 주세요”라고 요청하면, AI가 잘 정리된 답변을 제공합니다.

이렇게 하면 많은 시간과 노력을 절약할 수 있습니다.

대규모 언어 모델(LLM)은 특정 페이지를 모를 경우에도 정보가 있는 위치를 파악하는 데 능숙합니다.

예를 들어, 회사 웹사이트에서 연락처 정보를 찾고 싶지만 어떤 페이지에 있는지 확실하지 않은 경우, AI 기반 스크래퍼가 모든 페이지를 검색하여 필요한 정보를 찾아낼 수 있습니다. 클릭할 곳과 읽어야 할 내용을 아는 도우미가 있는 것과 같습니다.

2. 복잡한 상호작용을 가진 웹사이트 스크래핑

None

https://www.webibazaar.com/blog/wp-content/uploads/2020/02/how-to-add-captcha-prestashop-1.jpg

일부 웹사이트는 로그인, CAPTCHA 해결 또는 팝업 클릭과 같은 상호작용이 필요하기 때문에 스크래핑하기 더 어렵습니다.

기사에 접근하기 위해 로그인해야 하는 뉴스 웹사이트를 생각해 보십시오. 이러한 경우에는 다음과 같은 도구가 필요합니다:

– Selenium

– Puppeteer

– Playwright

이 도구들은 원래 웹사이트 테스트를 위해 만들어졌지만, 현재는 실제 사용자가 웹사이트를 사용하는 방식을 시뮬레이션하는 데 사용됩니다.

예를 들어, 뉴욕 타임즈와 같은 뉴스 사이트에서 기사를 스크래핑하고 싶다고 가정해 보겠습니다. 기사는 유료 구독 뒤에 있으므로 먼저 로그인해야 합니다.

None

Playwright나 Selenium과 같은 도구를 사용하여 스크래퍼가 대신 로그인하고, 팝업을 클릭하며, 기사에 접근할 수 있습니다.

하지만 이러한 도구를 사용하더라도, 스크래퍼가 페이지의 모든 버튼이나 입력 상자와 상호작용하기는 여전히 어려울 수 있습니다.

이럴 때 AgentQL이 유용합니다.

AgentQL은 웹페이지에서 버튼이나 양식과 같은 올바른 요소를 찾아 스크래퍼에게 무엇을 해야 하는지 알려줍니다.

예를 들어, 여러 구직 게시판에서 구인 목록을 수집하고 싶다면, AgentQL이 스크래퍼가 로그인 양식을 찾고, 이를 채우며, 구인 게시물로 이동하도록 도와줄 수 있습니다.

이는 수동 작업 없이 단 몇 분 만에 많은 구인 목록을 수집할 수 있음을 의미합니다.

스크래퍼가 데이터를 Google Sheets나 Airtable에 넣도록 설정할 수도 있어, 데이터를 쉽게 정렬하고 분석할 수 있습니다.

예를 들어, Indeed, Glassdoor, LinkedIn과 같은 사이트에서 소프트웨어 개발자 채용 공고를 추적하고자 한다고 가정해 보겠습니다.

이러한 도구를 통해 스크래퍼가 로그인하고, 구직을 검색하며, 모든 세부 정보를 Google Sheet와 같은 한 곳에 모을 수 있습니다.

이는 귀하의 시간을 수시간 절약해 줍니다.

3. 스마트한 사고가 필요한 고급 사용법

마지막 그룹은 의사 결정을 필요로 하는 다소 모호한 작업들로 구성되어 있습니다. 예를 들어 다음 두 달 이내의 목적지로 가는 가장 저렴한 항공편을 찾거나 예산에 맞춰 콘서트 티켓을 구매하는 경우가 이에 해당합니다.

이러한 작업들은 계획과 판단이 필요하기 때문에 어렵습니다. 아직 초기 단계이지만, 이러한 작업을 수행할 수 있는 도구들이 개발되고 있습니다.

그 중 하나가 Multion이라는 플랫폼으로, 이러한 복잡한 작업을 스스로 수행할 수 있는 에이전트를 만듭니다.

None

https://www.multion.ai/

예를 들어, 에이전트에게 다음과 같이 요청할 수 있습니다.

“뉴욕에서 멜버른으로 가는 가장 저렴한 항공편을 7월에 찾아서 예약해 주세요.”

그러면 에이전트는 다양한 여행 웹사이트를 검색하고 가격을 비교하여 항공편을 예약해 줄 것입니다.

아직 완벽하지는 않지만, 이러한 도구들이 실제 사람처럼 행동하는 것에 얼마나 가까워졌는지 인상적입니다.

또 다른 예로는 콘서트 티켓 구매가 있습니다. 에이전트에게 다음과 같이 요청할 수 있습니다.

“테일러 스위프트 콘서트 티켓을 100달러 이하로 구매해 주세요.”

그럼 에이전트는 다양한 티켓 사이트를 검색하여 예산에 맞는 티켓을 찾아 구매를 진행할 것입니다.

이 기술은 아직 발전 중이지만, Multion과 같은 도구들은 이러한 까다로운 작업을 자동화할 수 있게 해주고 있습니다.

웹 스크래핑을 시작하고자 하시는 분들을 위해 유용한 도구들을 소개합니다:

  1. Fireship, Gina, 그리고 SpiderCloud: 이 도구들은 웹 콘텐츠를 AI 모델이 더 잘 이해할 수 있는 읽기 쉬운 형식으로 변환하는 데 도움을 줍니다. 예를 들어, Fireship은 복잡한 레스토랑 웹사이트를 단순한 버전으로 변환하여 메뉴 항목과 가격과 같은 중요한 정보만 포함하도록 합니다. 이를 통해 AI 모델이 정보를 처리하는 비용과 시간을 줄일 수 있습니다.
  2. AgentQL: 이 도구는 웹사이트와 상호작용할 수 있도록 스크래퍼를 도와줍니다. 예를 들어, 많은 버튼을 클릭하고 양식을 작성해야 하는 구직 게시판을 스크랩해야 할 경우, AgentQL은 스크래퍼가 원활하게 작업을 수행할 수 있도록 보장합니다.
  3. Airtable/Google Sheets 통합: 스크래퍼가 데이터를 수집한 후, 유용한 방식으로 저장하는 것이 중요합니다. Airtable이나 Google Sheets와 같은 도구는 데이터를 저장하여 나중에 쉽게 분석할 수 있도록 도와줍니다. 예를 들어, 부동산 웹사이트에서 주택 가격을 추적하는 경우, Google Sheets를 사용하여 시간에 따른 트렌드를 비교하고 분석할 수 있습니다.
  4. Octoparse와 ScrapeHero: 이 도구들은 JavaScript가 많은 웹사이트를 처리하는 데 매우 유용합니다. Octoparse는 전자 상거래 웹사이트에서 데이터를 쉽게 스크랩할 수 있는 미리 만들어진 템플릿을 제공하며, 차단되지 않도록 스마트한 방법을 사용합니다. ScrapeHero는 여러 상점에서 동시에 가격을 수집해야 하는 프로젝트에 적합합니다.
  5. ScraperAPI와 Zyte: 이 서비스들은 스크래퍼가 차단되지 않도록 회전 프록시를 통해 지원합니다. ScraperAPI는 요청 헤더와 같은 요소를 사용자 정의할 수 있어 타겟 스크래핑에 유용합니다. Zyte는 이전에 Scrapy로 알려졌으며, 대규모 스크래핑 작업을 처리하고 필요한 데이터를 중단 없이 받을 수 있도록 도와줍니다.
  6. Mozenda와 Web Robots: Mozenda는 더 복잡한 웹 양식을 자동화하는 데 도움을 주며, 스크래핑 작업을 예약할 수도 있습니다. Web Robots는 직접 스크래핑 프로그램을 만들고 CSV나 Excel과 같은 파일에 데이터를 추출해야 할 경우에 유용합니다.

2024년과 2025년에는 AI가 웹사이트에서 데이터를 스크랩하는 방식을 변화시키고 있습니다.

대형 언어 모델과 AgentQL, Playwright와 같은 도구를 활용하면, 복잡한 사이트도 수작업 없이 스크랩할 수 있습니다.

가장 좋은 점은 이러한 시스템들이 비즈니스 데이터 수집, 구직 검색, 심지어 항공편 예약과 같은 다양한 작업을 처리할 수 있을 만큼 유연하다는 것입니다.

웹 스크래핑을 자동화할 수 있는 기회가 그 어느 때보다 크고 접근 가능해졌습니다.

따라서, 시장 데이터를 원하는 소규모 기업이든, 클라이언트를 도와주는 프리랜서든, 아니면 단순히 배우고 싶은 호기심이 있는 분이든, 이러한 AI 도구들은 웹 스크래핑을 강력하고 간단한 솔루션으로 만들어 줍니다.

꼭 시도해 보세요!!!