오늘은 웹 크롤링에 대해 포스팅 하겠습니다.
우리가 흔히 부르는 웹 크롤러 크롤링의 정식명칭은 'Web Scraping' 입니다.
크롤링의 사전적인 의미는 기어다닌다는 뜻으로 컴퓨터 소프트웨어 기술로 웹사이트들을 돌아다니면서 정보를 수집하는 행위라고 합니다.
이때 한 페이지만 방문하는 것이 아니라 그 페이지에 링크되어 있는 또 다른 페이지를 지속적으로 방문하고 이처럼 링크를 따라 웹을
돌아다니는 모습이 마치 거미와 비슷하다고하여 스파이더라고도 부르기도 합니다.
예를 들면 네이버 검색 순위 자료가 필요하다면, 사이트에 들어가서 일일이 보고 엑셀에 값 정리해서 파일을 가지고 있을 수도 있습니다.
하지만, 이 데이터들을 다른 프로그램이나 개발을 해야할때 사용하려면 DataBase에 저장해야 할 필요가 있습니다.
웹은 기본적으로 HTML 형태로 되어 있고 '페이지 소스 보기' 또는 '개발자 검사' 로 자세히 볼 수 있습니다. 이런 소스들은 보통 개발자들이 어떤 정형화된 형태로 관리하고 있습니다.
그렇기 떄문에 일종의 규칙이 생기고 이런 규칙을 분석해서 우리가 원하는 정보들만 뽑아서 가져오는 것을 웹 크롤링 작업이라고 합니다.
크롤링 메커니즘
- 대상 선정
- 데이터 로드
- 데이터 분석
- 데이터 수집
1. 대상선정
- 웹 상의 데이터는 고유한 ID를 가진다. URI라고 부르며, 이는 우리가 잘 아는 웹 사이트 주소인 URL과 RUN이 있다.
- 간단하게 과일에 대한 네이버 검색 결과를 크롤링하려면 (URL을 선정하는 과정)
2. 데이터 로드
- 데이터 로드는 웹 사이트를 켜는것과 같다.
- 만약 API라면 -> XML, JSON문서
- 웹페이지 -> HTML문서를 다운 받는 것
3. 데이터 분석
- 로드된 데이터에서 필요한 부분을 뽑아내는 것을 뜻한다.
- 당연하게도 웹 사이트상에는 내가 필요로 하지 않는 부분이 많다.
- 어떤 부분을 수집할지, 어떤 부분을 수집하지 않을지 선정하는 과정
4. 수집
- 데이터 분석 과정을 통해서 수집할 내용을 선정한 후
- 이를 추출하여 파일 또는 데이터를 메모리상에 저장하는 과정
Ref: itnovice1.blogspot.com/2019/01/web-crawling.html
m.blog.naver.com/potter777777/220605598446
'Dev. Etc > knowledge' 카테고리의 다른 글
GraphQL의 개념 및 특징 (RESTful API 비교) (0) | 2021.12.09 |
---|---|
[CI/CD] Jenkins 과 GitHub Actions의 개념, 차이점 (2) | 2021.05.25 |
빌드, 배포, 컴파일의 개념 & 차이점 (Build, Deploy, Complie) (1) | 2021.05.24 |
[웹소켓] WebSocket의 개념 및 사용이유, 작동원리, 문제점 (0) | 2021.03.11 |
[메이븐] Maven은 무엇일까? (0) | 2020.06.21 |
IP 의미 및 주소체계 & 클래스 구별법 (0) | 2019.11.30 |
스냅샷(Snapshot) 개념 (0) | 2019.11.24 |
데이터 백업(Data Backup) 개념 (0) | 2019.11.23 |