다양한 수집 방지 방법을 구현할 때 해당 방법이 검색 엔진의 웹사이트 크롤링에 영향을 미칠지 여부를 고려해야 하므로 먼저 일반 수집기와 검색 엔진 크롤러 수집의 차이점을 분석해 보겠습니다.
유사점:
a. 둘 다 효과적으로 작동하려면 웹페이지의 소스 코드를 직접 캡처해야 합니다.
b. 둘 다 단위 시간당 여러 번 방문한 많은 웹사이트 콘텐츠를 크롤링합니다.
c. 거시적 관점에서 보면 두 IP 모두 변경됩니다.
d. 둘 다 웹 페이지의 일부 암호화(검증)를 해독하기에는 너무 성급합니다. 예를 들어 웹 콘텐츠는 js 파일을 통해 암호화됩니다. 예를 들어 콘텐츠에 액세스하려면 로그인해야 합니다.
차이점:
검색 엔진 크롤러는 먼저 전체 웹 페이지 소스 코드 스크립트와 스타일, html 태그 코드를 무시한 다음 단어 분할, 문법 및 구문 분석과 같은 나머지 텍스트 부분에 대해 일련의 복잡한 처리를 수행합니다. 수집기는 일반적으로 HTML 태그의 특성을 통해 필요한 데이터를 캡처합니다. 수집 규칙을 만들 때 필요한 콘텐츠를 찾기 위해 대상 콘텐츠의 시작 표시와 끝 표시를 입력해야 합니다. 특정 웹페이지에서 필요한 콘텐츠를 필터링하는 표현식입니다. 시작 및 종료 태그를 사용하든 정규식을 사용하든 html 태그(웹 페이지 구조 분석)가 관련됩니다.
그런 다음 몇 가지 수집 방지 방법을 제안하겠습니다.
1. IP 주소의 단위 시간당 방문 횟수를 제한합니다.
분석: 일반 사람은 프로그램에 의해 액세스되지 않는 한 동일한 웹사이트를 1초에 5번 방문할 수 없으며 이러한 선호도를 가진 사람들에게는 검색 엔진 크롤러와 성가신 스크레이퍼가 남습니다.
단점: 하나의 크기로 모든 것에 적합하므로 검색 엔진이 웹 사이트를 포함하지 못하게 됩니다.
적용 가능한 웹사이트 : 검색 엔진에 크게 의존하지 않는 웹사이트
수집가가 하는 일 : 단위시간당 접근횟수 감소 및 수집효율 저하
2. IP 차단
분석: 백그라운드 카운터를 사용하여 방문자 IP 주소 및 접속 빈도를 기록하고, 방문 기록을 수동으로 분석하고, 의심스러운 IP 주소를 차단합니다.
단점: 단점은 없는 것 같으나 웹마스터가 좀 바쁘다.
적용 가능한 웹사이트: 모든 웹사이트와 웹마스터는 어느 것이 Google 로봇인지 Baidu 로봇인지 알 수 있습니다.
수집기가 수행할 작업: 게릴라전을 벌이세요! IP 프록시를 사용하여 매번 데이터를 수집하지만 수집기의 효율성과 네트워크 속도가 저하됩니다(프록시 사용).
3. js를 사용하여 웹 콘텐츠 암호화
참고: 저는 이 방법을 본 적이 없으며 다른 곳에서 본 것뿐입니다.
분석: 분석할 필요가 없습니다. 검색 엔진 크롤러와 수집기가 서로를 죽일 수 있습니다.
해당 사이트 : 검색엔진 및 수집자를 극도로 싫어하는 사이트
수집가는 이렇게 할 것입니다. 당신이 너무 대단하고 모든 위험을 감수한다면 그는 당신을 수집하러 오지 않을 것입니다.
4. 웹사이트 저작권이나 임의의 정크 텍스트가 웹페이지에 숨겨져 있습니다. 이러한 텍스트 스타일은 CSS 파일에 기록됩니다.
분석: 수집을 방지할 수는 없지만 일반적으로 수집기가 CSS 파일을 동시에 수집하지 않고 해당 텍스트가 스타일 없이 표시되기 때문에 수집된 콘텐츠가 웹 사이트의 저작권 표시나 일부 정크 텍스트로 가득 차게 됩니다.
적용 가능한 웹사이트: 모든 웹사이트
수집가가 할 일: 저작권이 있는 텍스트의 경우 처리 및 교체가 쉽습니다. 임의의 스팸 문자에 대해 귀하가 할 수 있는 일은 없습니다. 다만 부지런히 주의하시기 바랍니다.
5. 사용자는 웹사이트 콘텐츠에 액세스하려면 로그인해야 합니다.
분석: 검색 엔진 크롤러는 모든 유형의 웹사이트에 대한 로그인 절차를 설계하지 않습니다. 수집기가 특정 웹사이트 디자인에 대한 사용자 로그인 및 양식 제출 동작을 시뮬레이션할 수 있다고 들었습니다.
적용 가능한 웹사이트: 검색엔진을 싫어하고 대부분의 수집자를 차단하고 싶은 웹사이트
수집기가 수행할 작업: 사용자 로그인 및 양식 제출 동작을 시뮬레이션하는 모듈 만들기
6. 스크립팅 언어를 사용하여 페이징 수행(페이징 숨기기)
분석: 검색 엔진 크롤러는 검색 엔진에 포함되는 데 영향을 미치는 다양한 웹사이트의 숨겨진 페이지 매김을 분석하지 않습니다. 그러나 수집가가 수집 규칙을 작성할 때 대상 웹 페이지의 코드를 분석해야 합니다. 스크립팅 지식을 아는 사람은 페이징의 실제 링크 주소를 알 것입니다.
적용 가능한 웹사이트: 검색 엔진에 대한 의존도가 높지 않은 웹사이트. 또한 귀하를 수집하는 사람은 스크립팅 지식이 없습니다.
수집기가 할 일: 수집기가 무엇을 할 것인지 말해야 합니다. 어쨌든 그는 웹 페이지 코드를 분석하고 페이징 스크립트를 분석할 것입니다.