티스토리 뷰

crawling

공개적인 자료 반복적인 수집 및 분리

web crawling의 준말로 위키에는 web crawler 용어로 정리

 

ko.wikipedia.org/wiki/Crawling

웹 크롤러(web crawler)는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.

웹 크롤러가 하는 작업을 '웹 크롤링'(web crawling) 혹은 '스파이더링'(spidering)이라 부른다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다. 웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, 검색 엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 인덱싱한다. 또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며, 자동 이메일 수집과 같은 웹 페이지의 특정 형태의 정보를 수집하는 데도 사용된다.

 

 

scraping

인증뒤에 숨겨진 개인 or 통신 정보수집 형태로 crawling과 구분

web scraping의 준말로 위키에 영어를 아래에 번역

 

en.wikipedia.org/wiki/Web_scraping : google traslate

웹 스크래핑, 웹 수집 또는 웹 데이터 추출은 웹 사이트에서 데이터를 추출하는 데 사용되는 데이터 스크래핑입니다. 웹 스크래핑 소프트웨어는 하이퍼 텍스트 전송 프로토콜을 사용하거나 웹 브라우저를 통해 월드 와이드 웹에 직접 액세스 할 수 있습니다. 웹 스크래핑은 소프트웨어 사용자가 수동으로 수행 할 수 있지만 일반적으로이 용어는 봇 또는 웹 크롤러를 사용하여 구현 된 자동화 된 프로세스를 나타냅니다. 특정 데이터를 수집하여 나중에 검색하거나 분석하기 위해 일반적으로 중앙 로컬 데이터베이스 또는 스프레드 시트로 웹에서 복사하는 복사 형식입니다.

 

 

parsing

web page 내용에서 원하는 정보를 원하는 형태로 가공하여 표현

위키에서 'parsing'이나 'parser'을 검색하면 구문 분석으로 번역되어 표기

 

ko.wikipedia.org/wiki/구문_분석

언어학에서 구문 분석(構文分析, 문화어: 구문해석, 문장해석) 또는 '파싱'은 문장을 그것을 이루고 있는 구성 성분으로 분해하고 그들 사이의 위계 관계를 분석하여 문장의 구조를 결정하는 것을 말한다.

컴퓨터 과학에서 파싱((syntactic) parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다.

컴퓨팅에서 파서(parser)는 인터프리터 컴파일러의 구성 요소 가운데 하나로, 입력 토큰에 내재된 자료 구조를 빌드하고 문법을 검사한다. 파서는 일련의 입력 문자로부터 토큰을 만들기 위해 별도의 낱말 분석기를 이용하기도 한다. 파서는 수작업으로 프로그래밍되며 도구에 의해 (일부 프로그래밍 언어에서) (반)자동적으로 만들어질 수 있다.

 

 

 

 

1. RSS(Rich Site Summary or Really Simple Syndication or RDF Site Summary)

웹사이트 간에 자료를 교환하거나 배급하기 위한 XML(확장성 생성 언어) 기반의 포맷

장점 : 사용자입장에서 RSS의 등장으로 업데이트된 최신 정보를 편리하게 취합해서 받아볼 수 있다

         운영자 입장에서는 신규 정보나 추천 정보를 사용자에게 손쉽게 제공할 수 있다

단점 : 콘텐츠 플랫폼에 머무는 시간이 줄어듦으로써 광고 수익이 감소

[네이버 지식백과]

 

ko.wikipedia.org/wiki/RSS

RSS(Rich Site Summary)는 뉴스나 블로그 사이트에서 주로 사용하는 콘텐츠 표현 방식

웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다. 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다.

RSS 리더에는 웹기반형과 설치형이 있다. 웹기반형 리더는 간단한 계정등록으로 어디에서든 이용할 수 있다는 장점을 가지고 있다.

RSS가 등장하기 전에는 원하는 정보를 얻기 위해 해당 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램(혹은 서비스)을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문 없이 최신 정보들만 골라 한 자리에서 볼 수 있다.

또한 RSS는 팟캐스팅과 같은 미디어 배포의 용도로도 사용된다. RSS 2.0 의 〈enclosure〉태그 내에 MP3  MOV 등의 미디어 파일을 첨부하여 배포하면, 팟캐스팅 클라이언트를 이용해 파일을 내려 받아 감상할 수 있다.

RSS 2.0은 공식적으로 완료된 것으로 선언되었으며, 하버드 대학교가 저작권을 보유하고 있다

 

 

2. XML(eXtensible Markup Language)

인터넷 웹페이지를 만드는 HTML을 획기적으로 개선한 언어

 

ko.wikipedia.org/wiki/XML

XML(Extensible Markup Language)은 W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어이다. XML은 SGML의 단순화된 부분집합으로, 다른 많은 종류의 데이터를 기술하는 데 사용할 수 있다. XML은 주로 다른 종류의 시스템, 특히 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하여 HTML의 한계를 극복할 목적으로 만들어졌다.

기계는 인간의 언어를 읽거나 이해할 수 없는 계산기에 불과하므로 XML과 같은 구조화된 마크업 언어들은 인간의 읽고 분석하여 이해하는 능력과 컴퓨터의 단순한 계산적인 판독 능력 사이에 타협점을 만들어 줄 수 있다. W3C가 만든 XML 1.0 Specification[1]과 몇몇 다른 관련 명세들[2]과 모든 자유 개방형 표준[3]에서 정의되었다.

W3C는 XML 설계 목표에서 단순성과 일반성, 그리고 인터넷을 통한 사용 가능성을 강조했다.[4] XML은 텍스트 데이터 형식으로 유니코드를 사용해 전 세계 언어를 지원한다. XML을 설계할 때는 주로 문서를 표현하는데 집중했지만, 지금은 임의의 자료구조를 나타내는 데 널리 쓰인다. 대표적인 예가 웹 서비스이다.

많은 API가 개발되어 XML 데이터를 처리하고자 하는 소프트웨어 개발자들이 활용하고 있다. 또한, 여러 가지 스키마 시스템이 있어서 XML 기반 언어의 정의를 보다 쉽게 할 수 있도록 도와준다.

 

 

3. API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)

crawling or scraping에서 API는 web API의 준말로 사용

API request : HTTP를 통해 데이터를 요청

API는 이 데이터를 XML이나 JSON(JavaScript Object Notation) 형식으로 변환

 

ko.wikipedia.org/wiki/API

응용 프로그램에서 사용할 수 있도록, 운영 체제 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공

웹 API는 웹 애플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세

블로그 API를 이용하면 블로그에 접속하지 않고도 다른 방법으로 글을 올릴 수 있다. 그 외에 우체국의 우편번호 API, 구글과 네이버의 지도 API등 유용한 API들이 많으므로, 요즘은 홈페이지 구축이나 추가개편 시 따로 추가로 개발하지 않고 이런 오픈 API를 가져와 사용하는 추세다.

 

ko.wikipedia.org/wiki/오픈_API

오픈 API(Open Application Programming Interface, Open API, 공개 API)는 누구나 사용할 수 있도록 공개된 API를 말하며, 개발자에게 사유 응용 소프트웨어나 웹 서비스에 프로그래밍적인 권한을 제공

이것은 "하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스가 오픈 API이다"라고 정의할수있다.[3]

네이버 지도, 구글맵, 오픈스트리트맵 등이 대표적인 예이다. 지도 서비스 및 다양한 서비스들에서 시도되고 있으며 누구나 접근하여 사용할 수 있다는 장점이 있다. 메타블로그도 오픈 API를 사용하여 만든 예이다. 최근에 코로나 사태로 라이브코로나, 코로나 맵 등의 서비스가 생겼는데, 네이버클라우드플랫폼의 API 지원을 받고 있다.

 

 

4. JSON(JavaScript Object Notation)

client와 server간 HTTP 통신을 위한 데이터 교환 포멧

cf. REST : HTTP를 기반 client와 server간 리소스 접근 방식을 규정한 아키텍쳐 or 교환방식 protocol


ko.wikipedia.org/wiki/JSON

속성-값 쌍( attribute–value pairs and array data types (or any other serializable value)) 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷

특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램 변수값을 표현하는 데 적합하다.

본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, 자바, 자바스크립트, , 파이썬 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다.

JSON의 공식 인터넷 미디어 타입은 application/json이며, JSON의 파일 확장자는 .json이다.

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함