6년간의 웹 크롤링에서 얻은 교훈

게시 됨: 2017-04-18
목차
1. 웹은 본질적으로 매우 역동적입니다.
2. 웹 기술이 발전함에 따라 웹 사이트는 점점 복잡해지고 불균일해지고 있습니다.
3. 웹 페이지에서 데이터를 가져오는 것은 데이터 수집 게임의 10%만 차지합니다.
4. 대부분의 회사는 데이터 크롤링에 대한 예산을 할당하지 않았습니다.
5. 봇을 허용하지 않으면 노출 및 웹사이트 트래픽에 부정적인 영향을 미칠 수 있습니다.
6. 웹사이트는 더 이상 모든 콘텐츠를 코드에 저장하지 않습니다.
7. 모든 웹사이트의 26%가 워드프레스에서 실행됩니다.
8. 기업은 기술 노하우 없이 데이터를 크롤링할 수 있다고 믿습니다.
웹 크롤링은 틈새 프로세스입니다.

디지털 시대가 번창하기 시작하고 기업이 빅 데이터 요구를 위해 웹으로 눈을 돌렸을 때, 그들 앞에는 무수한 장애물이 있었습니다. 웹에서 데이터를 추출하는 것은 복잡한 문제를 수반했고 기업이 핵심 비즈니스에 집중하지 않고 모든 문제를 해결하는 것은 쉽지 않았습니다. PromptCloud는 기업이 이러한 병목 현상에 직면하지 않고 필요한 방식으로 웹에서 데이터를 획득할 수 있도록 지원하기 위해 설립되었습니다. 우리는 시작한 이래로 이 영역에서 확고한 전문 지식을 축적해 왔습니다. 이제 웹 크롤링이 빅 데이터 수집 분야에서 귀중한 도구 중 하나가 되었기 때문에 지난 6년 동안 웹을 크롤링하면서 배운 것을 공유하게 되어 기쁩니다.

웹 크롤링

1. 웹은 본질적으로 매우 역동적입니다.

눈치채셨든 아니든 웹은 끊임없이 변화하는 세상입니다. 모든 사이트는 매일 일종의 변화를 겪고 있습니다. 이것은 코드 관리, 보안 허점에 대한 수정, 새로운 제안 추가 또는 디자인 변경일 수 있습니다. 이러한 변경 사항의 대부분은 방문자에게 중요하지 않은 것처럼 보일 수 있지만 이러한 변경 사항은 웹 크롤링 봇을 중단시킬 가능성이 있습니다. 클래스 이름 수정, 새 요소 추가 또는 약간의 디자인 변경이라도 크롤링 중에 중단을 일으킬 수 있습니다. 웹의 이러한 매우 동적인 특성은 사이트 변경을 감지하기 위한 강력한 모니터링 시스템의 중요성을 배웠습니다. 모니터링에 대한 이러한 지속적인 필요성은 전체 데이터 추출 비용을 증가시킬 뿐만 아니라 기술적으로 복잡하게 만듭니다.

2. 웹 기술이 발전함에 따라 웹 사이트는 점점 복잡해지고 불균일해지고 있습니다.

단순한 HTML과 PHP를 사용하여 웹사이트를 만들던 시대는 지났습니다. 웹 개발자는 이제 최신 코딩 방식을 사용하여 방문자에게 부드러운 사용자 경험을 제공합니다. 이것은 웹사이트의 복잡성을 크게 증가시켰습니다. 사용자 경험은 점점 단순해지고 있지만 백엔드는 복잡해지고 있습니다. 대부분의 최신 웹 사이트는 AJAX 호출을 사용하여 데이터베이스에서 라이브 페이지로 데이터를 동적으로 동기화하여 웹 사이트를 보다 동적이고 강력하게 만듭니다. 데이터를 가져오는 것은 실제 사람 방문자를 에뮬레이트해야 하기 때문에 그림에서 AJAX 호출을 사용하면 훨씬 더 어려워집니다. 따라서 우리는 이러한 사례를 처리하고 웹 크롤링 요구 사항을 수용하기 위해 기술 스택을 지속적으로 업그레이드해 왔습니다.

3. 웹 페이지에서 데이터를 가져오는 것은 데이터 수집 게임의 10%만 차지합니다.

데이터 수집은 인터넷의 라이브 웹 페이지에서 데이터를 스크랩하는 것이 전부가 아닙니다. 사실, 데이터를 가져오는 것은 데이터 수집 게임이 시작되는 아주 작은 단계일 뿐입니다. 스크랩된 데이터는 종종 거대하며 시작하려면 적절한 스토리지 시스템이 필요합니다. 가져온 데이터를 저장하는 데 분산 서버가 사용되므로 처리 속도를 높이고 대기 시간을 줄이는 데 도움이 됩니다. 데이터를 유지 관리하는 것은 빈번한 자동 백업을 요구하는 또 다른 과제입니다. 애플리케이션과 호환되도록 데이터를 정리하고 구조화하는 것도 데이터 수집의 필수 부분입니다. 처리되는 데이터의 양이 증가함에 따라 이러한 데이터 세트를 정기적으로 검색할 수 있도록 안정적인 데이터 파이프라인을 설정해야 합니다. 웹 크롤링 솔루션 뒤에는 눈에 보이는 것보다 많은 프로세스가 실행되고 있습니다.

4. 대부분의 회사는 데이터 크롤링에 대한 예산을 할당하지 않았습니다.

대부분의 회사는 데이터 프로젝트의 일부인 중요하고 독립적인 단계를 고려하지 않고 데이터 프로젝트에 공통 예산을 할당하는 경향이 있습니다. 데이터 수집 자체는 독점적인 예산이 있어야 하는 도전적이고 주의를 기울일 가치가 있는 프로세스입니다. 데이터 프로젝트를 관리하는 데 적은 예산으로 웹 데이터를 얻는 것만으로도 프로젝트의 약 50%를 소모하게 됩니다. 따라서 데이터 수집과 관련된 비용 포인트를 더 잘 이해하는 것이 중요합니다.

5. 봇을 허용하지 않으면 노출 및 웹사이트 트래픽에 부정적인 영향을 미칠 수 있습니다.

웹 크롤링 스파이더(봇이라고도 함)는 인터넷 트래픽의 약 61%에 기여합니다. 많은 회사는 봇의 트래픽이 관련이 없거나 심지어 해롭다고 가정하는 실수를 범합니다. 이것이 일부 사람들이 robots.txt를 통해 봇을 완전히 허용하지 않는 정도까지 가는 이유입니다. 그들은 봇이 제공하는 긍정적인 이점에 대해 거의 알지 못합니다. 피드 집계 사이트, 검색 엔진, 블로그 또는 비즈니스 디렉토리에서 실행되는 많은 봇은 사이트에 대한 노출 수단으로 사용됩니다. 간단히 말해서, 봇을 차단하면 웹사이트가 백링크, 노출 및 트래픽을 얻기 어렵게 됩니다.

6. 웹사이트는 더 이상 모든 콘텐츠를 코드에 저장하지 않습니다.

10년 전, 대부분의 웹사이트는 페이지의 소스 코드에 모든 콘텐츠가 있었습니다. 이것은 캐싱이 불가능하기 때문에 일반적으로 사용자가 페이지를 다시 로드할 때마다 페이지의 모든 콘텐츠를 로드하는 것을 의미했습니다. 또한 이 엉망인 코드를 처리해야 하는 개발자에게는 악몽이었습니다. 그 이후로 코딩 방식은 크게 발전했으며 이제 대부분의 웹 사이트는 스크립트의 비동기식 로드, 인라인 CSS 방지 등과 같은 모범 사례를 따릅니다. 웹에서의 코딩 방식은 지난 10년 동안 많이 발전했습니다.

7. 모든 웹사이트의 26%가 WordPress에서 실행됩니다.

WordPress는 매우 인기 있는 콘텐츠 관리 시스템이며 이 플랫폼에서 실행되는 인터넷 웹사이트의 상당 부분을 차지합니다. 지금까지 크롤링한 수백만 개의 웹사이트 중 약 26%가 WordPress를 사용하여 만들어졌습니다. 이것은 CMS로서의 WordPress의 다양성을 나타내며 인기가 충분히 가치가 있다고 생각합니다.

8. 기업은 기술 노하우 없이 데이터를 크롤링할 수 있다고 믿습니다.

프로세스 데이터 추출이 실제로 얼마나 복잡한지에 대해 잘 알지 못하는 많은 기업은 DIY 도구나 사내 크롤링 설정을 사용하는 실수를 범합니다. DIY 도구는 사용하기 쉬운 데이터 추출 도구로 광고되는 방식을 고려할 때 매력적인 솔루션처럼 보일 수 있습니다. 그러나 단순함에는 대가가 따릅니다. 이러한 도구는 심각한 대규모 데이터 추출 요구 사항을 처리할 수 없으며 대상 사이트가 단순하고 데이터 품질이 문제가 되지 않는 엔트리 레벨 추출을 위한 것입니다.

웹 데이터 추출 을 공급업체에 아웃소싱 하면 리소스를 확보할 수 있고 기술 직원이 데이터 적용에 더 집중할 수 있지만 데이터에 액세스하고 저장하려면 여전히 기술 직원이 필요합니다.

웹 크롤링은 틈새 프로세스입니다.

수백 명의 클라이언트를 위해 수백만 개의 웹사이트에서 데이터를 크롤링하고 가져오는 수년간의 경험에서 한 가지 분명한 것은 웹 데이터 추출 프로세스를 실행하려면 전담 팀과 고급 리소스가 필요하다는 것입니다. 더 빠르고 효율적이며 오류 없는 추출을 위해 사용한 기술은 수년간의 경험과 땜질의 산물입니다. 웹 데이터 추출 프로젝트를 당사에 아웃소싱하고 핵심 비즈니스에 더 많은 시간을 할애하여 이러한 기술적 장벽을 쉽게 피할 수 있습니다.