크롤러 기술로 https를 크롤링할 수 있나요?
우선 https가 무엇인지 알아보겠습니다
https는 HTTP+SSL의 약자로 이전의 일반 텍스트를 HTTP 전송 방식을 기반으로 암호화하여 전송합니다. 정보의 암호화 방식과 비밀키는 전송 전에 미리 결정되어 전송 중에 압수되거나 위조되더라도 정보가 유출되지 않도록 보장할 수 있습니다.
크롤러의 본질은 브라우저인 것처럼 가장하고 서버에 요청을 보내고 전체 프로세스에 참여하는 것이므로 https 링크도 크롤링할 수 있지만 위조된 클라이언트에 올바른 SSL 인증서가 있는 경우에만 가능합니다.
오류의 근본 원인 찾기
크롤러가 실행 중일 때 SSL 오류가 표시되는 경우는 일반적으로 로컬 인증서 또는 관련 SSL 라이브러리가 올바르게 설치되지 않았거나 서버가 자체 CA 인증서를 사용하고 있기 때문입니다. 권한 있는 기관 인증 없음
인증서 예외 문제 해결
CA 인증서 문제의 경우 다음 중앙 집중식 솔루션을 참조할 수 있습니다.
1 CA 인증서를 확인하지 말고 보안 경고를 무시하세요
coding=utf-8import requests# 不验证CA证书则需要忽略安全警告方式一:import urllib3urllib3.disable_warnings()方式二:from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)r=requests.get(url=“https://www.baidu.com/”,verify=False)print r.elapsed.total_seconds()
2 . 인증서 위치 또는 인증서가 포함된 폴더를 지정하세요(이 폴더는 OPENSSSL 도구로 생성됨)
coding=utf-8import requestsr=requests.get(url=“https://www.baidu.com/”,verify='/path/to/certfile')
위 내용은 크롤러 기술로 https를 크롤링할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!