웹 크롤러는 검색 엔진을 위해 World Wide Web에서 웹 페이지를 자동으로 추출하는 프로그램이며 검색 엔진의 중요한 구성 요소입니다. 하지만 웹 크롤러가 악용되면 인터넷에는 동질적인 것들이 너무 많이 나타나 독창성을 보호할 수 없게 됩니다. 그 결과, 많은 웹사이트가 웹 크롤러에 맞서 싸우기 시작했고 콘텐츠를 보호하기 위해 모든 수단을 동원했습니다.
One: User-Agent +Referer 감지 (권장 학습: Python 비디오 튜토리얼)
User-Agent는 HTTP 프로토콜의 필드이며 그 역할은 발급하는 일부 터미널을 설명하는 것입니다. HTTP는 정보를 요청합니다.
서버에서 고객이 사용하는 운영 체제 및 버전, CPU 유형, 브라우저 및 버전, 브라우저 렌더링 엔진, 브라우저 언어, 브라우저 플러그인 등을 식별할 수 있습니다.
서버는 이 필드를 통해 누가 웹사이트를 방문하는지 알 수 있습니다. 일반 브라우저가 아닌 사용자를 차단합니다.
해결책:
브라우저마다 User-Agent가 다르고 모든 사용자가 브라우저를 사용할 수 있으므로 브라우저의 User-Agent를 위장하세요. 모든 UA 감지는 각 요청에 대해 브라우저의 User-Agent를 조정하여 해결할 수 있습니다.
Referer는 헤더의 일부입니다. 브라우저가 웹 서버에 요청을 보낼 때 일반적으로 Referer를 가져와 서버에 내가 어디에서 왔는지 알려줍니다. 페이지가 링크되어 있습니다. 예를 들어, 일부 사진 웹사이트에서는 귀하가 사진을 요청할 때 귀하의 추천인 값을 감지합니다. 추천인이 일치하지 않으면 일반 사진이 반환되지 않습니다.
해결책:
리퍼러 감지 요청에서 일치하는 리퍼러 값을 전달합니다.
둘: js 난독화 및 렌더링
소위 JavaScript 난독화는 기본적으로 다음과 같습니다.
1 실제로 호출되지 않는 일부 기능을 제거합니다.
2. 분산된 변수 선언을 결합합니다.
3. 논리 기능의 단순화.
4. 변수 이름 단순화. 다양한 압축 도구의 장단점에 따라 다릅니다. 일반적인 도구에는 UglifyJS, JScrambler 및 기타 도구가 포함됩니다.
js 렌더링은 실제로 HTML 페이지를 수정한 것입니다. 예를 들어, 일부 웹페이지 자체는 데이터를 반환하지 않습니다. 데이터는 js 로딩 후에 HTML에 추가됩니다. 이러한 상황이 발생하면 크롤러가 JavaScript 작업을 수행하지 않는다는 것을 알아야 합니다. 그러므로 다른 방법으로 처리해야 합니다.
해결책:
1. 웹사이트 js 소스 코드를 읽고 키 코드를 찾아 Python으로 구현합니다.
2. 웹사이트 js 소스코드를 읽어 핵심코드를 찾고, PyV8, execjs, 기타 라이브러리를 이용해 js 코드를 직접 실행해보세요.
3. 셀레늄 라이브러리를 통해 브라우저 환경을 직접 시뮬레이션합니다.
3: IP 제한 빈도
WEB 시스템은 http 프로토콜을 통해 WEB 컨테이너에 연결됩니다. 서버.
서버의 경우 단위 시간 내에 IP 주소에서 시작된 요청을 명확하게 볼 수 있습니다.
요청 횟수가 일정 수치를 초과할 경우 비정상적인 사용자 요청으로 판단될 수 있습니다.
해결책:
1. 자신만의 IP 프록시 풀을 설계하고 순환을 통해 각 요청마다 다른 프록시 주소를 전달합니다.
2. ADSL 동적 다이얼링에는 전화를 걸 때마다 새로운 IP가 부여됩니다. 즉, IP가 고정되어 있지 않습니다.
Four: 인증 코드
인증 코드(CAPTCHA)는 "Completely Automated PublicTuring test to Tell Computers and HumansApart"(완전 자동화된 Turing test to Tell Computers and HumansApart)의 약어입니다. 사용자는 컴퓨터 또는 인간의 완전 자동화된 프로그램입니다.
악성 비밀번호 크래킹, 티켓 사기, 포럼 플러딩을 방지하고 해커가 특정 프로그램을 사용하여 특정 등록 사용자가 연속적으로 로그인을 시도하지 못하도록 무차별 공격을 가하는 것을 효과적으로 방지할 수 있습니다.
이 질문은 컴퓨터로 생성하고 판단할 수 있지만 답변은 사람이 해야 합니다. 컴퓨터는 CAPTCHA 질문에 답할 수 없으므로 질문에 답하는 사용자는 인간으로 간주될 수 있습니다.
해결책:
1. 수동으로 인증 코드 식별
2. pytesseract가 간단한 인증 코드 식별
3. 코딩 플랫폼과 연결
4. Python 관련 기술 기사를 더 보려면
Python을 방문하세요. tutorial위 내용은 Python에서 크롤링 방지를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Arraysinpython, 특히 비밀 복구를위한 ArecrucialInscientificcomputing.1) theaRearedFornumericalOperations, DataAnalysis 및 MachinELearning.2) Numpy'SimplementationIncensuressuressurations thanpythonlists.3) arraysenablequick

Pyenv, Venv 및 Anaconda를 사용하여 다양한 Python 버전을 관리 할 수 있습니다. 1) PYENV를 사용하여 여러 Python 버전을 관리합니다. Pyenv를 설치하고 글로벌 및 로컬 버전을 설정하십시오. 2) VENV를 사용하여 프로젝트 종속성을 분리하기 위해 가상 환경을 만듭니다. 3) Anaconda를 사용하여 데이터 과학 프로젝트에서 Python 버전을 관리하십시오. 4) 시스템 수준의 작업을 위해 시스템 파이썬을 유지하십시오. 이러한 도구와 전략을 통해 다양한 버전의 Python을 효과적으로 관리하여 프로젝트의 원활한 실행을 보장 할 수 있습니다.

Numpyarrayshaveseveraladvantagesstandardpythonarrays : 1) thearemuchfasterduetoc 기반 간증, 2) thearemorememory-refficient, 특히 withlargedatasets 및 3) wepferoptizedformationsformationstaticaloperations, 만들기, 만들기

어레이의 균질성이 성능에 미치는 영향은 이중입니다. 1) 균질성은 컴파일러가 메모리 액세스를 최적화하고 성능을 향상시킬 수 있습니다. 2) 그러나 유형 다양성을 제한하여 비 효율성으로 이어질 수 있습니다. 요컨대, 올바른 데이터 구조를 선택하는 것이 중요합니다.

tocraftexecutablepythonscripts, 다음과 같은 비스트 프랙티스를 따르십시오 : 1) 1) addashebangline (#!/usr/bin/envpython3) tomakethescriptexecutable.2) setpermissionswithchmod xyour_script.py.3) organtionewithlarstringanduseifname == "__"

numpyarraysarebetterfornumericaloperations 및 multi-dimensionaldata, mumemer-efficientArrays

numpyarraysarebetterforheavynumericalcomputing, whilearraymoduleisiMoresuily-sportainedprojectswithsimpledatatypes.1) numpyarraysofferversatively 및 formanceforgedatasets 및 complexoperations.2) Thearraymoduleisweighit 및 ep

ctypesallowscreatingandmanipulatingC-stylearraysinPython.1)UsectypestointerfacewithClibrariesforperformance.2)CreateC-stylearraysfornumericalcomputations.3)PassarraystoCfunctionsforefficientoperations.However,becautiousofmemorymanagement,performanceo


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
