본문 바로가기

파이썬으로 퀀트 프로그램 만들기 project/웹 크롤링

(11)
웹 크롤링 실습_2 - find_all(), select() 웹 크롤링을 처음 배우신 분들은 저번 포스트를 참조해주세요. 일반적인 크롤링 과정은 다음과 같습니다. 1. HTML 정보 받기 request 패키지의 get() 혹은 post() 함수를 이용해 데이터를 요청한 후 HTML정보를 가져옵니다. 2. 태그 및 속성 찾기 bs4 패키지의 함수들을 이용해 원하는 데이터를 찾습니다. 3. 클렌징 데이터 클렌징 #크롤링할 데이터의 태그 이제 크롤링 실습을 해보겠습니다. 웹 크롤링 연습으로 자주 사용되는 명언 인용 사이트를 이용하겠습니다. 먼저 크롤링을 하기 위해서는 우리가 가져오고 싶은 데이터가 어떤 태그에 위치하는지 알아야 합니다. 이를 위해 [F12] 키를 눌러 개발자도구 화면을 열고 [Elements]탭을 선택합니다. 그리고 마우스 우클릭 후 [검사]를 눌러보면..
UnicodeEncodeError: 'cp949' codec can't encode character 해결 이것은 cp949 codec이 문자를 encode를 못해서 발생하는 오류이다. 오류가 발생하는 파일에서 맨위에 다음과 같은 코드를 추가해주면 오류를 해결할 수 있다. # -*- encoding: utf-8 -*- import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') encoding 방식을 utf-8로 바꾸는 것이다.
웹 크롤링 실습_1 - GET, POST 크롤링 혹은 스크랩핑이란 웹 사이트에서 원하는 정보를 수집하는 기술을 뜻합니다. 크롤링을 할때의 주의사항이 있습니다. #주의사항 · 특정 웹사이트의 페이지를 쉬지 않고 크롤링 하는 행위를 무한 크롤링이라고 합니다. · 무한 크롤링은 해당 웹사이트의 자원을 독점하게 되어 타인의 사용을 막게 되며 웹사이트에 부하를 줍니다. · 일부 웹사이트에서는 동일한 ip로 쉬지 않고 크롤링을 할 경우 접속을 막아버리는 경우도 있습니다. · 따라서 하나의 페이지를 크롤링한 후 1~2초 가량 정지하고 다시 다음 페이지를 크롤링하는 것이 좋습니다. · 신문기사나 책, 논문, 사진 등 저작권이 있는 자료를 통해 부당이득을 얻는다는 등의 행위를 할 경우 법적 제재를 받을 수 있습니다. #GET 서버에 데이터를 요청하는 형태는 매..