파이썬으로 captCha 분석하여 웹사이트 소스 가져오기
파이썬으로 captCha 분석 프로그램을 만들 수 있습니다.
그러나 captCha 분석은 비교적 복잡한 작업이며, 다양한 알고리즘과 기술이 필요합니다.
일반적으로 이미지 처리 및 인공지능 분야에서 활용되는 기술들을 사용하여 captCha 분석 프로그램을 개발합니다.
따라서, 만약 captCha 분석에 대한 경험이 부족하다면, 이미지 처리 및 인공지능 분야에서의 기술 및 알고리즘에 대한 학습이 필요할 수 있습니다.
그러나 Python은 이미지 처리 및 인공지능 분야에서 널리 사용되는 언어 중 하나이며, 다양한 라이브러리 및 프레임워크가 제공되고 있기 때문에 이러한 작업을 수행하는 데 사용할 수 있습니다.
이미지 처리에는 Pillow, OpenCV, Scikit-image 등의 라이브러리가 있으며, 인공지능 분야에는 TensorFlow, PyTorch, Keras 등의 프레임워크가 있습니다.
이러한 라이브러리 및 프레임워크를 사용하여 captCha 분석 프로그램을 구현할 수 있습니다.
import requests
from PIL import Image
import io
import pytesseract
from PIL import Image
import io
import pytesseract
# 테써렉트 위치
pytesseract.pytesseract.tesseract_cmd = r'G:/tesseract/tesseract.exe'
pytesseract.pytesseract.tesseract_cmd = r'G:/tesseract/tesseract.exe'
# 캡차 이미지 URL
captcha_url = 'https://chuksaro.nias.go.kr/hanwoori/captchaImg.do'
captcha_url = 'https://chuksaro.nias.go.kr/hanwoori/captchaImg.do'
# 세션 생성
session = requests.Session()
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)
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)
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)#신뢰할 수 있는 인증서를 설치하는 방법
#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')
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')
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)
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)
f.write(response.text)
# 검색 결과 출력
print(response.text)
print(response.text)