일반 소개
ScrapeGraphAI는 대규모 언어 모델링(LLM)과 직접 그래프 로직을 영리하게 결합하여 웹사이트와 로컬 문서를 위한 크롤링 파이프라인을 생성하는 혁신적인 Python 웹 크롤링 라이브러리입니다. 이 도구의 독창성은 단순함과 강력함의 완벽한 균형에 있습니다. 사용자는 추출하고자 하는 정보를 간단히 설명하기만 하면 ScrapeGraphAI가 크롤링 과정의 모든 복잡한 작업을 자동화합니다. 이 프로젝트는 XML, HTML, JSON, Markdown 등 다양한 형식의 문서 처리를 지원합니다. 개발자가 웹 크롤링 기능을 프로젝트에 쉽게 통합할 수 있도록 Python 및 Node.js용 SDK를 제공하며, 단순한 웹 크롤링 도구가 아닌 여러 페이지의 병렬 크롤링, 음성 생성, Python 스크립트 자동 생성 및 기타 고급 기능과 같은 풍부한 기능도 제공합니다.

그래프 로직은 웹 데이터 추출을 위한 구조화된 처리 방법을 의미하는 ScrapeGraphAI의 핵심 기술 개념입니다. 구체적으로
- 데이터 구조 표현:
- 웹 콘텐츠를 그래픽 구조로 생각하세요.
- HTML 문서는 노드와 가장자리의 모음으로 변환됩니다.
- 각 HTML 요소는 노드이며 요소 간의 관계는 가장자리로 표시됩니다.
- 처리 흐름:
- 먼저 페이지의 DOM 트리 구조를 구축합니다.
- 노드 간의 계층적 및 연관 관계 분석
- AI(빅 언어 모델링)를 사용하여 사용자 요구 파악하기
- 그래프 구조를 기반으로 최적의 데이터 추출 경로 찾기
기능 목록
- 지능형 단일 페이지 크롤링: 사용자 프롬프트와 입력 소스만으로 콘텐츠 추출이 가능합니다.
- 다중 페이지 병렬 크롤링: 여러 웹 페이지에서 동시에 정보를 추출할 수 있도록 지원합니다.
- 검색 엔진 결과 크롤링: 검색 엔진의 처음 N개의 결과에서 정보를 추출할 수 있습니다.
- 음성 변환 기능: 웹 콘텐츠를 오디오 파일로 변환할 수 있습니다.
- 자동 스크립트 생성: 콘텐츠 추출을 위해 Python 스크립트를 생성할 수 있습니다.
- 여러 LLM 지원: OpenAI, Groq, Azure, Gemini 및 기타 API 및 기본 Ollama 모델과 호환 가능
- 고급 시맨틱 처리: 그래프 시각화 등의 시맨틱 처리 도구 지원
- 브라우저 관리: 다양한 브라우저 관리 도구 및 서비스와의 통합
- API 통합 지원: 완벽한 API 인터페이스 및 SDK 지원 제공
도움말 사용
1. 설치 단계
- 파운데이션 설치
pip install scrapegraphai
playwright install
라이브러리 충돌을 피하려면 가상 환경에 설치하는 것이 좋습니다.
- 선택적 종속성 설치
- 더 많은 언어 모델 지원을 설치하세요:
pip install scrapegraphai[other-language-models]
- 시맨틱 처리 옵션 설치:
pip install scrapegraphai[more-semantic-options]
- 브라우저 옵션을 설치합니다:
pip install scrapegraphai[more-browser-options]
2. 기본 사용법
다음은 가장 일반적으로 사용되는 스크래핑 파이프라인인 SmartScraperGraph를 사용하는 예시입니다:
import json
from scrapegraphai.graphs import SmartScraperGraph
# 配置抓取管道
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# 创建SmartScraperGraph实例
smart_scraper_graph = SmartScraperGraph(
prompt="Extract me all the news from the website",
source="https://www.wired.com",
config=graph_config
)
# 运行管道
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
3. 고급 기능 사용에 대한 설명
- 다중 페이지 크롤링
- SmartScraperMultiGraph를 사용하여 여러 페이지에서 동시에 정보를 추출할 수 있습니다.
- 병렬 LLM 호출을 지원하여 처리 효율성 향상
- 검색 결과 크롤링
- SearchGraph를 사용하여 검색 엔진 결과에서 직접 정보를 추출할 수 있습니다.
- 추출 결과의 개수 설정 지원
- 음성 전사
- SpeechGraph를 사용하여 웹 콘텐츠를 오디오 파일로 변환하세요.
- 다양한 음성 합성 옵션 지원
- 자동 스크립트 생성
- ScriptCreatorGraph는 콘텐츠 추출을 위한 Python 스크립트를 생성합니다.
- 단일 페이지 및 다중 페이지 스크립트 생성 지원
- LLM 통합
- 여러 LLM 서비스 지원: OpenAI, Groq, Azure, Gemini
- 기본 Ollama 모델 지원(Ollama를 설치하고 모델을 먼저 다운로드해야 함)
4. 주의 사항
- 사용하기 전에 API 키가 올바르게 구성되었는지 확인하세요.
- 종속성 충돌을 피하기 위해 가상 환경에서 실행하는 것이 좋습니다.
- 로컬 모델을 사용하는 경우 해당 모델을 미리 설치 및 다운로드해야 합니다.
- 사이트의 이용약관 및 크롤링 정책을 준수합니다.
- 대상 사이트에 대한 압력을 피하기 위해 크롤링 빈도를 제어하는 데 주의하세요.
5. 문제 해결
- 종속성 충돌이 발생하면 가상 환경을 다시 생성하는 것이 좋습니다.
- API 호출 실패 시 키 구성 확인
- 페이지 크롤링 실패 시 네트워크 연결 및 대상 사이트 가용성 확인
6. 도움말 액세스
- 공식 문서: https://scrapegraph-ai.readthedocs.io/
- 도쿠사우루스 문서: https://docs-oss.scrapegraphai.com/
- Discord 커뮤니티 지원: https://discord.gg/uJN7TYcpNa
- GitHub 이슈 트래커: https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...