[python] requests 크롤링 이슈
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 깨짐 문제
해결 방법
- encoding을 utf-8로 하면 한글이 안 깨지는 줄 알았는데 아니었다.
- 참고: https://dev-jacob.tistory.com/entry/Python-Requests-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0
response = requests.get(url)
content_type = response.headers['content-type']
if not 'charset' in content_type:
response.encoding = response.apparent_encoding
requests로 해결 안 되는 이슈는 selenium 등을 사용해보자.
Author And Source
이 문제에 관하여([python] requests 크롤링 이슈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@somnode/python-requests-크롤링-이슈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)