apify-sdk-integration은(는) 무엇을 하나요?
apify-client 패키지를 사용하여 기존 JavaScript/TypeScript 또는 Python 애플리케이션에 Apify를 통합합니다. Apify API를 통해 웹 스크래핑, 자동화 또는 데이터 추출 기능을 기존 앱에 추가할 때 사용합니다.
개요
이 통합은 Apify API와 상호작용하기 위한 공식 클라이언트 라이브러리인 apify-client를 사용합니다. JavaScript/TypeScript (Node.js)와 Python 환경을 모두 지원합니다.
설치
JavaScript/TypeScript
npm install apify-client
Python
pip install apify-client
인증
Apify API 토큰이 필요합니다. Apify 콘솔에서 토큰을 확인하거나 생성할 수 있습니다.
환경 변수를 사용하여 설정하는 것을 권장합니다:
export APIFY_TOKEN='your-api-token-here'
빠른 시작
JavaScript/TypeScript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
// 액터 실행
const run = await client.actor('your-actor-id').call({
input: {
// 액터 입력 데이터
},
});
// 결과 가져오기
const datasetItems = await client.dataset(run.defaultDatasetId).listItems();
console.log(datasetItems.items);
Python
from apify_client import ApifyClient
client = ApifyClient(token='your-api-token')
# 액터 실행
run = client.actor('your-actor-id').call(
run_input={
'key': 'value',
}
)
# 결과 가져오기
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
print(dataset_items)
주요 기능
- 액터 실행: ID나 이름으로 모든 Apify 액터를 실행합니다.
- 작업 관리: 예약된 작업(스케줄러)을 생성하고 관리합니다.
- 데이터 검색: 데이터셋, 키-값 저장소, 요청 큐에서 결과를 가져옵니다.
- 웹훅: 이벤트 기반 알림을 설정합니다.
- 프록시 구성: Apify 프록시를 사용하여 IP 차단을 우회합니다.
자세한 정보
공식 문서: Apify SDK 문서 또는 Python 클라이언트 문서
예제
JavaScript/TypeScript - 사용자 정의 입력으로 액터 실행
const run = await client.actor('apify/web-scraper').call({
startUrls: [{ url: 'https://example.com' }],
maxPages: 10,
});
const items = await client.dataset(run.defaultDatasetId).listItems();
Python - 결과를 데이터프레임으로 처리
import pandas as pd
run = client.actor('apify/web-scraper').call(
run_input={'startUrls': [{'url': 'https://example.com'}], 'maxPages': 10}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
df = pd.DataFrame(items)
print(df.head())