2014-05-19 2 views
1

Google 웹 사이트가 더 이상 파싱되지 않도록하고 싶습니다. 제 생각에는 대부분의 파서가 자바 스크립트를 실행하지 않는다는 것입니다. 그래서 적어도 비 자바 스크립트 봇을 차단하는 솔루션을 찾고 있습니다. Googlebot도 차단되지만 괜찮습니다. 안티 스크래핑 솔루션 (응용 프로그램)

그래서 나는 응용 프로그램에 대해 생각하고 그 것 :

프론트 엔드에
  1. -

  2. IP

    에 따라 일부 마커 특별한 쿠키를 만들 것입니다 동적으로 생성 난독 자바 스크립트를로드하는 힘

    (백엔드) - 방문자가 해당 쿠키를 갖고 있는지 확인하고 쿠키가없는 경우 (페이지로드 후) - 보안 문자가있는 페이지 표시

괜찮은 앱이 있습니까? 바퀴를 다시 발명하고 싶지는 마십시오.

나는 cloudflare 및 유사한 해결책을 사용하고 싶지 않습니다. 왜냐하면 다양한 제한이 있기 때문입니다.

P. 얘들 아, JS가 봇으로 취급되지 않는 일부 사용자는 언급하지 마라. 괜찮다. 또한 헤드리스 솔루션을 알고 있지만 다시는 괜찮습니다. 우리는 nojs 인 파서의 대부분을 제거해야합니다. 또한 우리는 수억 개의 페이지를 가지고 있으며 헤드리스 파싱은 누구에게나 비싼 옵션이 될 것입니다. 즉, 그 앱이 필요합니다. 귀하의 충고에 진심으로 감사드립니다.

+0

합법적 인 사용자가 텍스트 기반 브라우저, NoScript 또는 유사한 개인 정보 추가 기능이있는 브라우저 인 Captcha를 채우도록 강요당하는 경우가 많습니다. 그리고 헤드리스 클라이언트는 자바 스크립트 (phantomjs for one)를 실행할 수 있습니다. –

+0

1. 웹 사이트를 PDF로 내보내십시오 2. Dropbox에 업로드하십시오. 3. 전자 메일로 PDF를 배포하십시오. 4. ??? 5. 이익! –

+0

1) 비정상적인 사용자는 차단되며 괜찮습니다. 2) 옵션이 아닙니다. 우리는 수억 개의 웹 페이지가있는 매우 특별한 웹 사이트를 가지고 있으며, 필자가 정확히 쓴 것이 필요합니다. 파서의 수를 줄이십시오. 헤드리스 파싱 (headless parsing)은 비용이 많이 들며 고객은 대신 가입 계획을 구매 한 다음 비싼 솔루션을 설치하게됩니다. – Spaceman

답변

1

이제 로봇이 웹 페이지를 방문하도록 차단하는 방법이 있습니다 (또는 일반 방문자도 차단할 수 있습니다 ...).

일부 사용자가 로봇 인 경우 백엔드 (Django)에서 (User-Agent, IP와 같은 일부 마커를 사용하여 경험적으로 제외하고는 말할 수 없지만 적법한 사용자를 쫓아 낼 수 있고 로봇이 이들을 속일 수 있습니다). 내가 아는 한 로봇을 차단할 응용 프로그램이 없습니다.

당신은 실제로 일부 HTML 파일을 출력하고 자바 스크립트로 해독 할 수 있지만 (phantomjs은 여전히 ​​사용할 수 있음) 왜 짜증나는 클라이언트 브라우저가 아닌가? 로봇이 콘텐츠를 구문 분석하지 않게하려면 웹에 올려 놓지 마십시오.

TL : DR : 유감스럽게도 웹에서 위험 요소가 될 수 있지만 일반 사용자에게 피해를주지 않으면 피할 수는 없습니다. 제한된 방법은 처음 방문시 captcha를 넣는 것이지만이 captcha가 약한 경우 무시할 수 있습니다.

+0

고마워요.하지만 ... 여러 번 들었습니다. 하나. 내가 말하고 있던 웹 사이트는 매우 특별합니다. 이 경우 '일반적인'규칙을 적용하지 마십시오. 나는 단지하고 싶은 일을하고 싶다. JS를 지원하지 않는 모든 파서를 차단하라. 일부 실제 사용자가 JS를 토글 한 경우 문제가 발생합니다. 다시 켜거나 무한 캡쳐를 입력해야합니다.PhantomJS 파서는 무거 우며 많은 서버 리소스를 소비하므로 수백만 페이지를 파싱하려는 경우 사용하기에 비용이 많이 듭니다. 길고도 짧다. 나는 단지 내가 쓴 것, 즉 앱이 필요하다. – Spaceman

관련 문제