크롤러를 사용하여 웹사이트를 수집할 때 차단된 IP 주소 문제를 해결하는 방법은 무엇입니까?
1.IP에는 ADSL이 필요합니다. 여건이 허락한다면 실제로 전산실에서 외부 네트워크 IP를 추가로 신청할 수도 있습니다.
2. 외부 IP 주소가 있는 머신에 프록시 서버를 배포합니다.
3. 프로그램에서 순환 학습을 사용하여 프록시 서버를 교체하여 수집하려는 웹사이트에 액세스합니다.
이점:
1. 프로그램 논리는 거의 변경되지 않으며 프록시 기능만 필요합니다.
2. 상대방 웹사이트의 차단 규칙에 따라 프록시를 추가하기만 하면 됩니다.
3. 특정 IP가 차단되더라도 프록시 서버를 직접 오프라인으로 전환하면 프로그램 로직을 변경할 필요가 없습니다.
방법 2.
방어력이 약한 웹사이트가 소수 있는데, IP를 스푸핑해서 X-Forwarded-for(이렇게 쓰는 것 같습니다.) ...) 우회합니다.
대부분의 웹사이트에서 자주 크롤링하려면 일반적으로 여러 개의 IP가 필요합니다. 내가 선호하는 솔루션은 여러 IP로 외부 VPS를 구성하고 기본 게이트웨이 전환을 통해 IP 전환을 구현하는 것입니다. 이는 HTTP 프록시보다 훨씬 효율적이며 대부분의 경우 ADSL 전환보다 더 효율적일 것입니다.
방법 3.
ADSL + 스크립트, 차단 여부 모니터링 후 지속적으로 IP 전환
쿼리 빈도 제한 설정
정통 홈페이지에서 제공하는 서비스 인터페이스를 호출하는 방식입니다.
방법 4.
크롤링 경력이 8년 이상인 사람들은 국내 ADSL이 왕이라고 말할 것입니다. 지역 간 연결 해제 재다이얼 구성 요소를 직접 작성하고, 동적 IP 추적 서비스를 직접 작성하고, 원격 하드웨어 재설정(주로 ADSL 모뎀의 충돌 방지), 기타 작업 할당 및 데이터 복구를 수행할 수 있습니다. 큰 문제는 아닙니다. 내 것은 몇 년 동안 안정적으로 운영되어 왔습니다. 괜찮습니다!
방법 5.
1 사용자 에이전트 위장 및 순환
2 프록시 IP 사용 및 순환
3 쿠키 처리, 일부 웹사이트 로그인한 사용자에 대한 정책이 더 느슨합니다.
알림: 크롤러가 웹사이트에 가져오는 부담을 고려하고 책임감 있는 크롤러가 되십시오.
방법 6.
최대한 시뮬레이션된 사용자 행동:
1. UserAgent를 자주 변경하세요.
2. 액세스 시간 간격을 더 길게 설정하세요.
p>
3. 페이지 방문 순서는 무작위일 수도 있습니다.
방법 8.
웹사이트 차단의 기준은 일반적으로 웹사이트 내 특정 IP에 대한 방문 횟수입니다. 단위 시간.
대상 사이트의 IP에 따라 수집 작업을 그룹화하고 단위 시간에 각 IP에서 발행하는 작업 수를 제어하여 차단되지 않도록 합니다. 많은 웹사이트를 수집합니다. 하나의 웹사이트만 수집하는 경우 여러 외부 IP를 통해서만 수집할 수 있습니다.
방법 9.
1. 크롤러 크롤링에 대한 압력 제어를 수행합니다.
p>2. 예 대상 사이트에 액세스하려면 프록시를 사용하는 것이 좋습니다.
-크롤링 빈도를 줄이고 시간을 더 길게 설정하며 액세스 시간에 임의의 숫자를 사용합니다.
-UserAgent를 자주 전환합니다(브라우저 액세스 시뮬레이션)
-다중 페이지 데이터, 무작위 액세스 후 데이터 캡처
-사용자 IP 변경