파충류와 반파충류

3864 단어 작은 매듭

기어오르다


파충류 목적:
1. 데이터를 가져옵니다.회사의 데이터베이스를 채우면 데이터 테스트를 할 수 있다.직접 로그인도 가능합니다.
2. 파충류를 통해 대량의 데이터를 얻는다.검색엔진 만들기
3. 파충류를 통해 데이터를 추출하여 데이터 수집과 데이터 분석 작업
4. 파충류를 통해 데이터를 추출하여 훈련 모형을 만들고 인공지능 로봇 훈련을 한다.
반파충목적:
1. 일부 초급 파충류를 대상으로 간단하고 난폭하며 서버의 압력을 고려하지 않아 서버가 마비될 수 있다
2. 제어할 수 없는 파충류에 대해 파충류의 수가 비교적 많기 때문에 파충류 프로그램을 끄는 것을 잊어버리면 서버의 압력이 너무 클 수 있다
3. 동업자가 회사의 중요한 데이터를 탈취하는 것을 방지하고 동업자의 악의적인 경쟁을 방지한다

2. 역기어오르기 전략


1. User-Agent를 통한 액세스 제어
브라우저든 파충류 프로그램이든 서버에 네트워크 요청을 할 때 헤더 파일을 보냅니다. 예를 들어
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4,da;q=0.2,la;q=0.2
Cache-Control:max-age=0
Connection:keep-alive
Cookie: **********
Host:http://zhuanlan.zhihu.com
Referer:Ehco -  
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Query String Parameters
view source
view URL encoded

이 안의 대다수 필드는 브라우저가 서버에 신분을 표시하는 데 사용되는 파충류 프로그램에 있어서 가장 주의해야 할 필드는 다음과 같다. User-Agent의 많은 사이트들이user-agent 화이트리스트를 만들고 정상적인 범위에 속하는user-agent만 정상적으로 접근할 수 있다.
해결 방법:
  • user-agent를 스스로 설정할 수 있거나 더 좋은 것은 일련의 user-agent에서 표준에 부합되는 사용 2, 검증 코드가 가장 고전적인 반파충류 전략은'검증 코드'에 속한다.인증 코드는 사진이기 때문에 사용자가 로그인할 때 한 번만 입력하면 로그인에 성공할 수 있다. 우리 프로그램이 데이터를 캡처하는 과정에서 끊임없는 로그인이 필요하다. 예를 들어 우리는 1000명의 사용자의 개인 정보를 캡처해야 하고 1000번의 인증 코드를 입력해야 한다. 수동으로 인증 코드를 입력하는 것은 비현실적이기 때문에 인증 코드의 등장은 많은 인터넷 파충류 엔지니어들을 난처하게 했다.해결 방법:
  • 사이트 검증 코드 메커니즘을 분석하고 사이트 백그라운드나 전단에서 검증 코드(텍스트 형식)를 얻는다. 이 방법은 소량의 사이트에만 적용된다. 왜냐하면 일반적인 검증 코드는 우리가 얻기 어렵기 때문이다
  • 이미지 식별 기술을 이용하여 검증 코드 텍스트를 식별한다(예를 들어 최근에 비교적 핫한 딥러닝 Tensorflow 등)
  • 왕왕 일부 사이트는 pc단만 있는 것이 아니라 핸드폰 단자 사이트도 있기 때문에 핸드폰 단자가 인증코드를 포함하지 않을 가능성이 높다.그래서 핸드폰 사이트를 시도해 보세요. 의외의 수확이 있을지도 몰라요
  • 클라우드 코드를 시험해 볼 수 있다...3. IP 봉인과 계정 봉인은 또 다른 메스꺼운 반파충류 전략은 IP 봉인과 계정 봉인에 속한다.본인은 초기에 한 대의 기계로 시나닷컴 마이크로박을 잡았기 때문에 짧은 시간에 계정이 봉쇄되고 IP가 봉쇄되었기 때문에 유사한 문제에 부딪히면 반드시 더욱 조심해야 합니다

  • 해결 방법:
  • 가장 간단한 해결 방법: 프로그램 캡처 주파수를 제한하고 몇 초마다 로그인합니다(캡처 수량에 대한 요구가 없으면 이런 방법을 사용할 수 있습니다. 만약에 대량의 데이터를 잡으려면 아직 원숭이 해를 잡아야 합니다)
  • 계정을 폐쇄하고 IP를 봉쇄한 이상 저는 여러 개의 계정, 여러 대의 기계로 캡처하겠습니다. 파충류 문제를 해결했을 뿐만 아니라 분류 처리를 해서 한 대의 기계의 대역폭 압력을 낮추는 셈이죠..
  • 일부 사이트는 우리가 1)2) 방법을 채택해도 봉쇄될 수 있다는 사실이 증명되었다. 이런 상황에서 우리는 IP 에이전트를 잡을 수밖에 없다. 전문적인 파충류 프로그램을 써서 에이전트를 잡을 수 있고 이런 에이전트로 우리가 원하는 데이터를 잡을 수 있다.지금까지는 기본적으로 계정을 봉하고 IP를 봉하는 문제를 해결할 수 있었다.4. 쿠키는 정보를 캡처하는 것을 제한한다

  • 그리고 비교적 일반적인 반파충류 전략도 있다. 쿠키를 통해 정보를 캡처하는 것을 제한한다. 예를 들어 우리가 모의 로그인을 한 후에 어떤 페이지 정보를 얻으려면 모의 로그인 후에 모든 페이지를 잡을 수 있다고 생각하지 마라. 때로는 중간 페이지를 요청해서 특정한 쿠키를 받아야 우리가 필요로 하는 페이지를 잡을 수 있다.
    해결 방법:
  • 브라우저의 F12 뷰어를 통해 구체적인 전체 프로세스에서 어떤 URL이 요청되었는지 살펴보십시오 (주로 HTML, JS, XHR 포함)

  • 5, JS 렌더링 페이지
    또 다른 흔히 볼 수 있는 반파충류 모델은 JS로 페이지를 렌더링하는 것이다.무슨 뜻일까요? 바로 되돌아오는 페이지는 직접 요청하는 것이 아니라 일부분은 JS가 DOM을 조작해서 얻을 수 있기 때문에 그 부분의 데이터는 저희도 얻을 수 없습니다.
    해결 방법:
  • 일반적으로 JS나 XHR은 어떤 링크를 요청하여 데이터를 얻기 때문에 우리가 JS, XHR 코드에 대응하여 구체적으로 어떤 링크를 요청했는지 분석한 다음에 같은 방식으로 프로그램으로 모의 요청을 해야 한다..
  • 일부 개원 도구 패키지는 js를 실행할 수 있습니다. 예를 들어 HtmlUnit은 시도해 볼 수 있습니다

  • 6. 사용자 이름 또는 암호 암호화 처리
    최근에 막 발견된 반파충류 기술: 귀속 IP.무슨 뜻일까요? 전체 요청 프로세스는 하나의 IP로 접근해야 한다는 뜻입니다. IP를 바꾸면 로그인에 실패합니다.
    해결 방법:
  • 일반적으로 암호화는 어떤 JS 안에 있기 때문에 JS만 분석하고 우리 프로그램에서 암호화할 수 있습니다..
  • HtmlUnit 등 소스 오픈 도구로 JS를 실행하면 바로 로그인할 수 있습니다..

  • 7, IP 바인딩
    최근에 막 발견된 반파충류 기술: 귀속 IP.무슨 뜻일까요? 전체 요청 프로세스는 하나의 IP로 접근해야 한다는 뜻입니다. IP를 바꾸면 로그인에 실패합니다.
    해결 방법:
    해결 방법은 없고 IP 하나만 로그인할 수 있습니다.
    8. 페이지를 모두 그림으로 변환
    가장 징그럽고 징그러운 반파충류는 페이지를 모두 그림으로 바꾸고, 당신이 잡은 내용은 모두 그림에 숨겨져 있습니다.내용을 추출하고 싶으면 생각하지 마라.
    해결 방법:
  • 유일한 해결 방법: 이미지 식별을 하세요. 하지만 대가가 크다고 느끼는데..
  • 좋은 웹페이지 즐겨찾기