본문 바로가기
AI SCHOOL/TIL

[DAY 12] API, 로봇 배제 표준, FinanceDataReader 등

2023. 1. 10.

API를 제공하는 이유, 로봇 배제표준, FinanceDataReader에 대해 공부하고 웹 스크래핑 실습을 했다.

키워드 : API, robots.txt, 라이브러리, FinanceDataReader, 웹 스크래핑

API를 제공하는 이유

- 허가된 계정에게만 데이터를 제공하기 위해
- 누가 사용했는지 알기 위해
- 유료로 데이터를 판매하는 사이트는 용량 등에 따라 과금을 위해
- 부동산 실거래가 등 실시간 제공 데이터의 경우
- 안정성을 위해 : 특정 사이트에 무리하게 네트워크 요청을 보내면 서버에 무리가 간다.
- API용 서버를 따로 두게 되면 요청이 몰릴 경우에도 운영하고 있는 서비스의 서버에 무리를 주지 않는다.

로봇 배제 표준

웹사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 웹크롤링 봇들을 배제함으로써 데이터를 보호하기위해 이용된다. 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.
- 규약은 권고안이며 접근 방지 설정을 했더라도 다른 사람들이 접근할 수 있다(강제는 아니다).
- 접근이 가능하더라도 불법 데이터 수집, 영업 또는 저작권 침해에 해당한다면 법적 제재를 받을 수 있다.
- robots.txt는 항상 사이트의 루트 디렉토리에 위치해야한다.
예시 : https://www.daum.net/robots.txt
링크를 클릭해 보면 다음 포털사이트의 robots.txt를 아주 간단히 확인할 수 있다.
설명
- User-agent: *  =>  모든 로봇에 대해서
- Disallow: /  =>  모든 경로의 데이터 접근 차단
- Allow: /$  => 첫 페이지에 대해서만 허용

=> 웹 페이지에서 데이터를 수집할 때는 로봇 배제 표준(robots.txt)을 준수하고, 저작권 침해를 하지 않으며, 네트워크 요청을 무리하게 보내지 않도록 주의하자! - time.sleep()을 사용함으로 네트워크 부담을 줄일 수 있다.

API와 로봇 배제 표준, 네트워크에 대해 이해하고 야놀자와 여기어때, 잡코리아와 사람인의 법적 분쟁 사례를 살펴보며 저작권에 대해 생각해본 후 실습을 진행했다.

1. FinanceDataReader 라이브러리를 이용한 실습
- 한국 주식 상장 종목 데이터를 가져온 후 데이터프레임으로 만들고 기술통계값 확인
- 엑셀 파일로 저장해서 확인

2. pandas를 이용해 네이버 금융 뉴스기사 스크래핑
- 종목별 뉴스 스크래핑, 처리
- 엑셀 파일로 저장해서 확인

 

반응형

댓글