[Web] 크롤링(Crawling)이란?
[Web] 크롤링(Crawling)이란?
크롤링의 사전적 의미는 기어다닌다는 뜻인데, 전산쪽에서는 Web상을 돌아다니면서 정보를 수집하는 행위..
웹 크롤링(Web Scraping)
- 컴퓨터 소프트웨어 기술로 웹 사이트들에서 원하는 정보를 추출하는 것
- 엄청난 분량의 웹 문서를 사람이 일일 구별해서 모으는 일은 불가능에 가까움
- 그래서, 웹 문서 검색에서는 사람이 일일이 하는 대신 이를 자동으로 해줌
- 웹이 기본적으로 HTML형태(어떤 정형화된 형태)로 되어 있기 때문에, 이런 규칙을 분석해서 우리가 원하는 정보들만 뽑아오는 것
- 우리가 흔히 부르는 웹 크롤러 크롤링의 정식명칭은 'Web Scraping'
- 외국 자료를 찾으려고 하니까 'Web Crawling'보다는 'Web Scraping'이라는 용어를 더 자주 사용함
- Python으로 크롤링 하는 소스들이 가장 흔함
- + 외국 자료를 검색할때는 "Web Scraping with something"이런식으로 검색하면 더 잘나옴
크롤링 메커니즘
- 대상 선정
- 데이터 로드
- 데이터 분석
- 데이터 수집
1. 대상선정
- 웹 상의 데이터는 고유한 ID를 가진다. URI라고 부르며, 이는 우리가 잘 아는 웹 사이트 주소인 URL과 RUN이 있다.
- 간단하게 과일에 대한 네이버 검색 결과를 크롤링하려면 (URL을 선정하는 과정)
- https://search.naver.com/search.naver?query=사과
2. 데이터 로드
- 데이터 로드는 웹 사이트를 켜는것과 같다.
- 만약 API라면 -> XML, JSON문서
- 웹페이지 -> HTML문서를 다운 받는 것
3. 데이터 분석
- 로드된 데이터에서 필요한 부분을 뽑아내는 것을 뜻한다.
- 당연하게도 웹 사이트상에는 내가 필요로 하지 않는 부분이 많다.
- 어떤 부분을 수집할지, 어떤 부분을 수집하지 않을지 선정하는 과정
4. 수집
- 데이터 분석 과정을 통해서 수집할 내용을 선정한 후
- 이를 추출하여 파일 또는 데이터를 메모리상에 저장하는 과정
+ 크롤링은 머신러닝을 할때도 사용된다
출처
댓글
댓글 쓰기