새소식

반응형
마케팅/인스타그램

인스타그램 크롤링 시 알아야 할 필수 주의사항!

  • -
반응형

인스타그램 크롤링(스크래핑)을 진행할 때 스크래핑 횟수는 매우 중요한 요소입니다. 과도한 요청은 계정 차단, IP 차단, 그리고 법적 문제를 초래할 수 있으므로 주의가 필요합니다. 아래는 스크래핑 횟수 설정 시 고려할 사항입니다.

 


1. 스크래핑 횟수 가이드라인

  • 시간당 요청 횟수: 인스타그램은 계정 및 IP를 기준으로 요청 수를 제한합니다. 일반적으로 시간당 100~200개의 요청을 넘기지 않도록 설정하는 것이 안전합니다.
  • 일일 요청 횟수: 하루에 약 1000~2000개의 요청으로 제한하는 것이 적절합니다. 공식 API가 아닌 크롤링에서는 더 적게 요청하는 것이 안전합니다.

2. 요청 간 간격 설정

  • 지연 시간 추가: 요청 사이에 2~5초의 랜덤 딜레이를 추가하여 인간의 브라우징 행동과 유사하게 보이도록 설정합니다.
  • 작업 속도 분산: 한 번에 많은 데이터를 요청하지 말고, 일정한 간격으로 크롤링 작업을 나누어 수행합니다.

3. IP 및 계정 사용 전략

  • 프록시 IP 사용:
    • 동일한 IP로 요청을 계속하면 서버가 비정상적인 활동으로 간주할 가능성이 높습니다.
    • 여러 IP를 활용하여 요청을 분산하면 스크래핑 횟수를 늘릴 수 있습니다.
  • 다중 계정 활용:
    • 여러 계정을 사용하여 각 계정의 요청 수를 분산시킵니다.
    • 각 계정의 요청 횟수를 하루에 100~200회로 제한하는 것이 좋습니다.

4. API를 사용하는 경우

인스타그램의 공식 Graph API를 사용하면 더 많은 요청을 처리할 수 있으며, 기본적으로 하루에 약 200개의 요청 제한이 있습니다. (요청량은 API 사용량에 따라 확장 가능)


5. 문제 발생 시 대처

  • IP 차단 방지:
    • IP가 차단되었다면 프록시나 VPN을 사용하여 IP를 변경합니다.
    • 차단된 IP는 일정 시간(24~48시간) 동안 사용하지 마세요.
  • 계정 차단 방지:
    • 로그아웃 후 일정 시간 동안 계정을 사용하지 않도록 합니다.
    • 스크래핑 횟수가 적은 계정을 사용하거나 새 계정을 생성하여 대체합니다.

6. 안전한 크롤링을 위한 팁

  • 작업량 테스트: 소규모 데이터를 대상으로 테스트한 후, 작업량을 점진적으로 늘립니다.
  • 스크래핑 모니터링: 요청 성공률, 실패율, 차단 여부를 지속적으로 확인하며 작업을 조정합니다.

예시: 스크래핑 요청 설정

import time
import random
import requests

url = "https://www.instagram.com/some-profile/"
headers = {"User-Agent": "Your User Agent"}

for _ in range(100):  # 하루 최대 100회 요청
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        print("Success!")
    time.sleep(random.uniform(2, 5))  # 2~5초 랜덤 딜레이

결론

스크래핑 횟수는 계정과 IP 상태, 크롤링 방식에 따라 달라질 수 있습니다. 최대한 안전하게 작업하려면 요청 횟수를 적절히 제한하고, 정상적인 API 사용을 우선적으로 고려하는 것이 좋습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.