Oxylabs 스크래퍼
Oxylabs 스크래퍼 (Oxylabs Scrapers)
CrewAI가 제공하는 Oxylabs 스크래퍼 도구들을 소개해요. Amazon 상품·검색, Google 검색, 그리고 범용 웹 스크래핑을 위한 도구들이 포함되어 있어 대규모·차단 우회가 필요한 웹 데이터 수집에 유용합니다.
출처: 문서
본문
설치 (Installation)
여기에서 Oxylabs 계정을 만들어 자격 증명을 받으세요.
pip install 'crewai[tools]' oxylabs
API 파라미터에 대한 더 자세한 정보는 Oxylabs Documentation을 확인하세요.
OxylabsAmazonProductScraperTool
예시 (Example)
from crewai_tools import OxylabsAmazonProductScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsAmazonProductScraperTool()
result = tool.run(query="AAAAABBBBCC")
print(result)
파라미터 (Parameters)
query- 10자리 ASIN 코드예요.domain- Amazon 도메인 로컬라이제이션.geo_location- Deliver to 위치.user_agent_type- 기기 유형과 브라우저.render-html로 설정하면 JavaScript 렌더링 활성화.callback_url- 콜백 엔드포인트의 URL.context- 특수 요구사항을 위한 추가 고급 설정과 제어.parse- true로 설정하면 파싱된 데이터를 반환.parsing_instructions- HTML 스크래핑 결과에 실행될 자체 파싱·데이터 변환 로직 정의.
고급 예시 (Advanced example)
from crewai_tools import OxylabsAmazonProductScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsAmazonProductScraperTool(
config={
"domain": "com",
"parse": True,
"context": [
{
"key": "autoselect_variant",
"value": True
}
]
}
)
result = tool.run(query="AAAAABBBBCC")
print(result)
OxylabsAmazonSearchScraperTool
예시 (Example)
from crewai_tools import OxylabsAmazonSearchScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsAmazonSearchScraperTool()
result = tool.run(query="headsets")
print(result)
파라미터 (Parameters)
query- Amazon 검색어.domain- Amazon 도메인 로컬라이제이션.start_page- 시작 페이지 번호.pages- 가져올 페이지 수.geo_location- Deliver to 위치.user_agent_type- 기기 유형과 브라우저.render-html로 설정하면 JavaScript 렌더링 활성화.callback_url- 콜백 엔드포인트의 URL.context- 특수 요구사항을 위한 추가 고급 설정과 제어.parse- true로 설정하면 파싱된 데이터를 반환.parsing_instructions- HTML 스크래핑 결과에 실행될 자체 파싱·데이터 변환 로직 정의.
고급 예시 (Advanced example)
from crewai_tools import OxylabsAmazonSearchScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsAmazonSearchScraperTool(
config={
"domain": 'nl',
"start_page": 2,
"pages": 2,
"parse": True,
"context": [
{'key': 'category_id', 'value': 16391693031}
],
}
)
result = tool.run(query='nirvana tshirt')
print(result)
OxylabsGoogleSearchScraperTool
예시 (Example)
from crewai_tools import OxylabsGoogleSearchScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsGoogleSearchScraperTool()
result = tool.run(query="iPhone 16")
print(result)
파라미터 (Parameters)
query- 검색 키워드.domain- Google 도메인 로컬라이제이션.start_page- 시작 페이지 번호.pages- 가져올 페이지 수.limit- 각 페이지에서 가져올 결과 수.locale- Google 검색 페이지 웹 인터페이스 언어를 바꾸는Accept-Language헤더 값.geo_location- 결과가 맞춤 적용될 지리적 위치. 올바른 데이터를 얻기 위해 이 파라미터를 제대로 사용하는 것이 매우 중요해요.user_agent_type- 기기 유형과 브라우저.render-html로 설정하면 JavaScript 렌더링 활성화.callback_url- 콜백 엔드포인트의 URL.context- 특수 요구사항을 위한 추가 고급 설정과 제어.parse- true로 설정하면 파싱된 데이터를 반환.parsing_instructions- HTML 스크래핑 결과에 실행될 자체 파싱·데이터 변환 로직 정의.
고급 예시 (Advanced example)
from crewai_tools import OxylabsGoogleSearchScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsGoogleSearchScraperTool(
config={
"parse": True,
"geo_location": "Paris, France",
"user_agent_type": "tablet",
}
)
result = tool.run(query="iPhone 16")
print(result)
OxylabsUniversalScraperTool
예시 (Example)
from crewai_tools import OxylabsUniversalScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsUniversalScraperTool()
result = tool.run(url="https://ip.oxylabs.io")
print(result)
파라미터 (Parameters)
url- 스크래핑할 웹사이트 URL.user_agent_type- 기기 유형과 브라우저.geo_location- 데이터를 가져올 프록시의 지리적 위치를 설정.render-html로 설정하면 JavaScript 렌더링 활성화.callback_url- 콜백 엔드포인트의 URL.context- 특수 요구사항을 위한 추가 고급 설정과 제어.parse- 제출된 URL의 페이지 유형에 대한 전용 파서가 있으면true로 설정 시 파싱된 데이터를 반환.parsing_instructions- HTML 스크래핑 결과에 실행될 자체 파싱·데이터 변환 로직 정의.
고급 예시 (Advanced example)
from crewai_tools import OxylabsUniversalScraperTool
# OXYLABS_USERNAME과 OXYLABS_PASSWORD 변수가 설정되어 있는지 확인
tool = OxylabsUniversalScraperTool(
config={
"render": "html",
"user_agent_type": "mobile",
"context": [
{"key": "force_headers", "value": True},
{"key": "force_cookies", "value": True},
{
"key": "headers",
"value": {
"Custom-Header-Name": "custom header content",
},
},
{
"key": "cookies",
"value": [
{"key": "NID", "value": "1234567890"},
{"key": "1P JAR", "value": "0987654321"},
],
},
{"key": "http_method", "value": "get"},
{"key": "follow_redirects", "value": True},
{"key": "successful_status_codes", "value": [808, 909]},
],
}
)
result = tool.run(url="https://ip.oxylabs.io")
print(result)