웹 상에서 가져올 수 있는 데이터의 형태에는 JSON, HTML, XML이 있다.
(1) JSON(JavaScript Object Notation)
- JSON 표현식: 용량이 적고 사람과 기계가 모두 이해하기 쉬운 형태(JSON의 목적)
- {key:value} 쌍으로 이루어진 데이터를 저장하거나 전송할 때 사용하는 개방형 표준 포맷
- Javascript에서 객체 생성 시 사용하는 표현식
(2) HTML(Hypertext Markup Language)
- 웹사이트에서 화면에 표시되는 정보를 약속한 것
- Hypertext: 단순 텍스트 이상의 텍스트(링크 등의 개념이 포함된 텍스트)
- Markup: 꺾쇠(<, >)로 이루어진 태그를 사용하는 규격
(3) XML(eXtensible Markup Language)
- HTML의 한계를 극복할 목적으로 만들어진 다목적 마크업 언어
- XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로 사용
- XML 태그는 HTML 태그처럼 정해져 있지 않고, 사용자가 직접 정의 가능
데이터의 세 가지 형태 중 JSON과 XML은 Python에서 딕셔너리 형태로 사용이 가능하다.
반면, HTML은 딕셔너리 자료를 다루는 방식이 아닌 다른 방식으로 사용해야만 한다.
앞서 requests 모듈 실습에서 JSON 데이터를 딕셔너리와 리스트의 형태로 변환하는 json()을
이미 살펴보았으므로 JSON 데이터 처리 방식은 넘어가도록 한다.
이번 포스팅에서는 XML 형태의 데이터를 처리하는 방식에 대해 알아본다.
XML 데이터는 딕셔너리 형태와 다른 형태로 모두 처리가 가능하다는 특징이 있다.
아래 링크에서 XML 형태의 날씨 정보와 뉴스 기사 정보를 수집하는 실습 코드를 확인할 수 있다.
https://github.com/tldnjs1231/web-crawling/blob/main/web-crawling-04-xml.ipynb
GitHub - tldnjs1231/web-crawling
Contribute to tldnjs1231/web-crawling development by creating an account on GitHub.
github.com
'2022 데이터 사이언스 > 웹 크롤링' 카테고리의 다른 글
06. 자동화 도구: Selenium (0) | 2022.07.22 |
---|---|
05. 데이터의 형태(2): HTML (0) | 2022.07.21 |
03. 데이터 프레임(Data Frame) (0) | 2022.07.19 |
02. 웹 페이지 요청: requests (0) | 2022.06.17 |
01. Intro: Word Cloud (0) | 2022.06.17 |