SeleniumScrapingTool
이 도구는 현재 개발 중입니다. 기능을 개선하는 과정에서 사용자께서 예기치 않은 동작을 경험하실 수 있습니다.
개선을 위한 소중한 피드백을 부탁드립니다.
설명
SeleniumScrapingTool은 고효율 웹 스크래핑 작업을 위해 제작되었습니다.
이 도구는 CSS 선택자를 사용하여 웹 페이지에서 특정 요소를 정확하게 추출할 수 있습니다.
다양한 스크래핑 요구에 맞게 설계되어, 제공된 모든 웹사이트 URL과 함께 유연하게 작업할 수 있습니다.
설치
이 도구를 사용하려면 CrewAI tools 패키지와 Selenium을 설치해야 합니다:예시
다음 예시는SeleniumScrapingTool을 CrewAI agent와 함께 사용하는 방법을 보여줍니다:
Code
Code
파라미터
SeleniumScrapingTool은(는) 초기화 시 다음과 같은 파라미터를 받습니다:
- website_url: 선택 사항. 스크래핑할 웹사이트의 URL입니다. 초기화 시 지정하면, 에이전트가 도구 사용 시 따로 지정할 필요가 없습니다.
- css_element: 선택 사항. 추출할 요소의 CSS 셀렉터입니다. 초기화 시 지정하면, 에이전트가 도구 사용 시 따로 지정할 필요가 없습니다.
- cookie: 선택 사항. 쿠키 정보가 담긴 딕셔너리로, 제한된 콘텐츠에 접근하기 위한 로그인 세션을 시뮬레이션하는 데 유용합니다.
- wait_time: 선택 사항. 스크래핑 전 대기 시간(초 단위)을 지정하며, 웹사이트와 모든 동적 콘텐츠가 완전히 로드되도록 합니다. 기본값은
3초입니다. - return_html: 선택 사항. 단순 텍스트 대신 HTML 콘텐츠를 반환할지 여부를 지정합니다. 기본값은
False입니다.
- website_url: 필수. 스크래핑할 웹사이트의 URL입니다.
- css_element: 필수. 추출할 요소의 CSS 셀렉터입니다.
에이전트 통합 예시
여기서는SeleniumScrapingTool을 CrewAI 에이전트와 통합하는 방법에 대해 더 자세히 설명합니다.
Code
구현 세부 사항
SeleniumScrapingTool은 Selenium WebDriver를 사용하여 브라우저 상호작용을 자동화합니다:
Code
- Headless Chrome 브라우저 인스턴스를 생성합니다.
- 지정된 URL로 이동합니다.
- 페이지가 로드될 수 있도록 지정된 시간만큼 대기합니다.
- 제공된 쿠키가 있다면 추가합니다.
- CSS 선택자에 따라 콘텐츠를 추출합니다.
- 추출된 콘텐츠를 텍스트 또는 HTML로 반환합니다.
- 브라우저 인스턴스를 닫습니다.
동적 콘텐츠 처리
SeleniumScrapingTool은 JavaScript를 통해 로드되는 동적 콘텐츠가 있는 웹사이트를 스크래핑할 때 특히 유용합니다. 실제 브라우저 인스턴스를 사용함으로써 다음을 수행할 수 있습니다:
- 페이지에서 JavaScript 실행
- 동적 콘텐츠가 로드될 때까지 대기
- 필요하다면 요소와 상호작용
- 단순 HTTP 요청으로는 얻을 수 없는 콘텐츠 추출
wait_time 파라미터를 조정할 수 있습니다.
결론
SeleniumScrapingTool은 브라우저 자동화를 활용하여 웹사이트에서 콘텐츠를 추출하는 강력한 방법을 제공합니다. 이 도구는 에이전트가 실제 사용자처럼 웹사이트와 상호작용할 수 있게 해주어, 간단한 방법으로는 추출이 어렵거나 불가능한 동적 콘텐츠의 스크래핑을 가능하게 합니다. 특히, JavaScript로 렌더링되는 현대적인 웹 애플리케이션을 대상으로 연구, 데이터 수집 및 모니터링 작업에 매우 유용합니다.