import requests
from bs4 import BeautifulSoup

response = requests.post(tranUrl, headers=headers, data=data, verify=False)
soup = BeautifulSoup(response.content,"html.parser")
print(soup.find(id="tw-answ-target-text").text)
return soup.find(id="tw-answ-target-text").text

verify=False 설정으로 SSL오류를 해결하고 나면 이번에는 아래와 같은 경고가  표시됩니다.

InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.google.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(

인증서 검증으로 하라는 경고인데 아래와 같이 작성하며 경고를 숨길 수 있습니다.

import requests
from bs4 import BeautifulSoup
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)          # InsecureRequestWarning 경고를 무시하도록 설정

response = requests.post(tranUrl, headers=headers, data=data, verify=False)
soup = BeautifulSoup(response.content,"html.parser")
print(soup.find(id="tw-answ-target-text").text)
return soup.find(id="tw-answ-target-text").text

from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)          # InsecureRequestWarning 경고를 무시하도록 설정

위 2개 코드를 추가하게 되면 해결됩니다.

◊  회사에서 Python / Request 를 사용하여 데이터 수집 프로그램을 만들다 보면 request 모듈 호출시 아래와 같은 오류를 만나게 됩니다. 그에 따른 오류 해결 방법 입니다.

url = "이런 저런 URL"
response = requests.post(url, headers=headers, data=data)
soup = BeautifulSoup(response.content,"html.parser")
print(soup.find(id="tw-answ-target-text").text)

 

◊ 오류 메시지

SSLError: HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: /async/translate?vet=eiv=1&yv=3&cs=1&_fmt=pc (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1133)')))

 

◊ 조치 방법

# verify=False 옵션을 지정해주면 SSL오류가 발생하지 않음
response = requests.post(url, headers=headers, data=data, verify=False)
soup = BeautifulSoup(response.content,"html.parser")
print(soup.find(id="tw-answ-target-text").text)

안녕하세요. 

제가 크롤링 후 올려드리는 MySQL 백업파일의 복원방법을 문의하시는 분들이 있어서 복원 방법 설명드립니다.

제가 올리는 백업파일의 경우 아래와 같이 Database를 생성하는 구문이 없습니다.

그렇기 때문에 먼저 복원할 Database를 생성해 주셔야 합니다.
제가 올리는 백업파일의 명칭이 [db_name]_[날짜] (db_stock_20190407_010101.bak) 이기 때문에 저와 동일하게 db_stock 로 DB를 생성해주셔도 되고, 본인이 미리 생성한 db가 있다면 그대로 사용해 주셔도 됩니다. 

db를 생성할 경우에는 cmd 창을 열어 MySQL에 접속하신 후 create database [db 명]을 실행해 주시면 됩니다.

show databases; 를 실행하여 생성된 db를 확인합니다.

압축파일이 위치한 폴더로 이동 후 mysql -uroot -p [db 명] < [백업파일명]  을 실행하시면 몇분 후 DB 복원이 완료됩니다.

복원 완료 후 MySQL Workbench 로 접속한 모습입니다.

+ Recent posts