파이썬

파이썬으로 captCha 분석하여 웹사이트 소스 가져오기

by nanumi posted Mar 25, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬으로 captCha 분석하여 웹사이트 소스 가져오기

 

파이썬으로 captCha 분석 프로그램을 만들 수 있습니다.

그러나 captCha 분석은 비교적 복잡한 작업이며, 다양한 알고리즘과 기술이 필요합니다.

일반적으로 이미지 처리 및 인공지능 분야에서 활용되는 기술들을 사용하여 captCha 분석 프로그램을 개발합니다.

따라서, 만약 captCha 분석에 대한 경험이 부족하다면, 이미지 처리 및 인공지능 분야에서의 기술 및 알고리즘에 대한 학습이 필요할 수 있습니다.

그러나 Python은 이미지 처리 및 인공지능 분야에서 널리 사용되는 언어 중 하나이며, 다양한 라이브러리 및 프레임워크가 제공되고 있기 때문에 이러한 작업을 수행하는 데 사용할 수 있습니다.

이미지 처리에는 Pillow, OpenCV, Scikit-image 등의 라이브러리가 있으며, 인공지능 분야에는 TensorFlow, PyTorch, Keras 등의 프레임워크가 있습니다.

이러한 라이브러리 및 프레임워크를 사용하여 captCha 분석 프로그램을 구현할 수 있습니다.


 

import requests
from PIL import Image
import io
import pytesseract
 
# 테써렉트 위치
pytesseract.pytesseract.tesseract_cmd = r'G:/tesseract/tesseract.exe'
 
# 캡차 이미지 URL
captcha_url = 'https://chuksaro.nias.go.kr/hanwoori/captchaImg.do'
 
# 세션 생성
session = requests.Session()
 
# 인증서 다운로드
cert_url = 'https://www.nia.or.kr/common/key/nia-ca.crt'
cert_file = 'nia-ca.crt'
response = session.get(cert_url)
 
with open(cert_file, 'wb') as f:
    f.write(response.content)
 

# 캡차 이미지 다운로드
#response = session.get(captcha_url, verify=cert_file)

 
# 캡차 이미지 다운로드 개무시하기
 
response = session.get(captcha_url, verify=False) #인증서 검증을 비활성화하는 방법
 
# 캡차 이미지 다운로드 인증서 설치하기
#cert_file = "C:/python/py_code/automouse/ssl/_.nias.go.kr.crt"
#response = session.get(captcha_url, verify=cert_file)#신뢰할 수 있는 인증서를 설치하는 방법

captcha_img = Image.open(io.BytesIO(response.content))
 
# 캡차 이미지 처리
captcha_img = captcha_img.convert('L')
threshold = 127
table = []
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)
captcha_img = captcha_img.point(table, '1')
 
# pytesseract를 사용하여 캡차 이미지에서 텍스트 추출
captcha_text = pytesseract.image_to_string(captcha_img, config='--psm 10')

# 검색어 입력 폼에 값을 입력하여 검색
search_url = 'https://chuksaro.nias.go.kr/hanwoori/cowCntcInfo.do'
search_keyword = '002xxxxxxx'
response = session.post(search_url, data={'answer': captcha_text, 'search_keyword': search_keyword}, verify=cert_file)

with open('C:/python/py_code/automouse/result.txt', 'w', encoding='utf-8') as f:
    f.write(response.text)
   
# 검색 결과 출력
print(response.text)

 

 

 

 


Articles

1 2 3 4 5