[python] requests 크롤링 이슈

2485 단어 pythonpython

Timeout

해결 방법

아래와 같이 timeout 인자 추가

response = requests.get(url, timeout=3)

SSLError

HTTPSConnectionPool(host='www.gov.kr', port=443): Max retries exceeded with url: /portal/service/serviceInfo/PTR000050203 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)')))

해결 방법

response = requests.get(url, verify=False)

한글 Encoding 깨짐 문제

해결 방법

response = requests.get(url)
content_type = response.headers['content-type']
    if not 'charset' in content_type:
        response.encoding = response.apparent_encoding

requests로 해결 안 되는 이슈는 selenium 등을 사용해보자.

좋은 웹페이지 즐겨찾기