Molybdenum의 개발기록

[TIL] 12일차_Crawling 본문

TIL

[TIL] 12일차_Crawling

Molybdenum_j 2023. 3. 6. 11:08

▶ Crawling

 

Crawling은 웹 페이지를 주기적으로 방문하며, 해당 페이지에서 원하는 정보를 수집하는 과정을 의미한다. 크롤링을 통해 수집된 데이터는 보통 분석, 가공, 저장 등 다양한 용도로 활용된다.

 

웹 페이지를 크롤링하는 프로그램을 크롤러(Crawler) 또는 스파이더(Spider)라고 하며, 이를 사용하여 웹 페이지의 HTML 코드를 가져와 데이터를 추출한다. 크롤러는 URL을 통해 웹 페이지에 접근하고, HTML 코드를 파싱하여 원하는 정보를 추출한다. 추출된 정보는 파일로 저장하거나 데이터베이스에 저장하여 분석 및 활용할 수 있다.

 

크롤링은 다양한 분야에서 활용되며, 주로 인터넷에서의 데이터 수집이 필요한 경우 사용된다. 예를 들어, 경제, 금융, 마케팅, 정치 등 다양한 분야에서 새로운 정보를 수집하고 분석하여 다양한 결론을 도출하는 데에 활용된다.

 

 

  • 웹데이터 수집 시 주의할 점
    • 로봇 배제 표준(robots.txt)
    • 저작권
    • 무리한 네트워크 요청 -> 영업침해 행위, 저작권 위반이 될 경우

  •  API를 사용해서 데이터 수집할 수 있게 한 이유?​ -> 같은 데이터임에도 API를 별도로 제공하기도 한다.

1) 허락된 사람에게만 정보를 제공하고 누가 수집해 갔는지 알기 위해

2) 유료로 데이터를 판매하고 있는 사이트는 데이터 용량 등에 따라 과금하기도 한다.

3) 공공데이터는 실시간성으로 제공하고자 하는 데이터의 경우

예) 부동산실거래가 정보 등

4) 특정 사이트에 무리하게 네트워크 요청을 보내면 서버에 무리가 갈 수 있다.

예) 만약에 50명이 특정 카페24의 작은 쇼핑몰에 요청을 한번에 보내면 서버가 다운될 수 있다.

API용 서버를 따로 두게 되면 데이터를 무리하게 읽어 갔을 때 운영하고 있는 서비스의 서버에 무리가 가지 않게 분리해서 운영할 수 있다. 네이버, 카카오, 유튜브 등은 API를 따로 제공하고 있다.

API를 제공할 때 가능한 데이터 한에서 제공한다. 예를 들어 페이스북에서는 자기계정에 대한 데이만 가져갈 수 있게 API를 제공하고 있다.

 

 

  • 경로에서 /의 의미

/ 가장 상위 경로 ./ 해당 경로 ../ 상위 경로

Disallow: / => 크롤러가 모든 경로의 데이터를 가져가지 말라는 의미

Allow: /$ =>

$ = 첫 페이지만 허용

 

  • 로봇 배제 표준

= 로봇 배제 표준, 로봇 배제 프로토콜은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약

일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.

=> 로봇 배제 표준이 권고안이라도 불법으로 데이터를 수집하여 영업 혹은 저작권 침해에 해당된다면 법적 제재를 받을 수 있으니 데이터 수집 시 주의가 필요하다.

 

  • web scraping

: 웹 스크래핑을 할 때 한 번에 많은 페이지를 요청하면 DDOS 공격으로 의심받을 수 있습니다. 일반적으로 time.sleep() 으로 시간 간격을 두고 가져온다.

 

colab 주석해제
=> ctrl + /

 

 

 

출처-멋쟁이사자처럼_AISCHOOL_박조은강사님

'TIL' 카테고리의 다른 글

[TIL] 12일차_NAVER_Finance_Daily_Price_Scraping  (0) 2023.03.06
[TIL] 12일차_FinanceDataReader  (0) 2023.03.06
[TIL] 11일차_Pandas  (0) 2023.03.06
[TIL] 10일차_PYTHON_Modual_Package  (0) 2023.03.03
[TIL] 10일차_PYTHON_Class_IO_02  (0) 2023.03.03
Comments