Python 웹 컴포넌트

Python / / 2020. 7. 6. 12:24
728x90
반응형

웹의 개념

  • 월드 와이드 웹(World Wide Web)은 인터넷에 연결된 컴퓨터를 이용하여 사람들과 정보를 공유할 수 있도록 거미줄처럼 엮인 공간이다.
  • 월드 와이드 웹을 줄여 웹(web)이라고 한다.

 

웹 컴포넌트 : HTML과 HTTP 

 

HTML 

  • HTML(Hyper Text Markup Language)은 웹상의 정보를 구조적으로 표현하기 위한 언어다.
  • 태그(tag)는 꺾쇠 괄호 < >로 둘러싸여 있고, 그 안에 정보에 대한 의미를 적는다. 그리고 그 의미가 끝나는 부분에 슬래시(/)를 사용하여 해당 태그를 종료한다.
더보기
# 예시
<title> Hello, World</title> # 제목 요소, 값은 Hello, World

 

HTTP

  • HTTP(Hypertext Transaction Protocol)는 인터넷에서 컴퓨터 간에 정보를 주고받을 때 사용하는 일종의 약속을 말하며, 일반적으로 컴퓨터 과학에서는 이러한 약속을 프로토콜(protocol)이라고 한다.

 

웹의 동작 순서

  • 웹에 있는 정보를 보기 위해 먼저 하는 일은 웹 브라우저를 시작하고, 거기에 주소 정보를 입력하는 것이다. 주소 정보의 공식 이름은 URL(Uniform Resource Locator)이라고 한다.
  • URL에는 해당 서버가 위치한 인터넷 주소 정보인 도메인 네임(domain name)이 있다. 흔히 도메인 정보 또는 서버 주소라고도 하는 이 주소를 통해 웹의 정보를 제공하는 서버에 접속한다.
  • 일반적으로 컴퓨터는 인터넷 프로토콜 주소(Internet Protocol address), IP 주소(IP address)라고 부르는 주소값을 가진다.
  • IP 주소를 컴퓨터의 주소로 생각하면 이 주소에 접속하기 위해 사용하는 도메인 네임과 연결하기 위한 도메인 네임 서버(Domain Name Server, DNS)가 운영된다.

URL의 구조

 

동작 순서

  1. 요청 : 웹 주소, form, header 등
  2. 처리 : database 처리 등 요청 대응
  3. 응답 : HTML, XML 등으로 결과 반환
  4. 렌더링 : HTML, XML 표시

 

웹 스크래핑

- 모든 웹은 HTML로 구성되어 있으므로, HTML의 규칙을 파악한다면 언제든지 HTML에서 필요한 정보를 가져올 수 있다. 이러한 과정을 일반적으로 웹 스크래핑(web scrapping)이라고 한다.

 

예제 소스코드

더보기
import urllib.request # urllib 모듈 호출
url = "http://storage.googleapis.com/patents/grant_full_text/2014/ipg140107.zip" # 다운로드 URL주소

print("Start Download")
fname, header = urllib.request.urlretrieve(url,'ipg140107.zip') #urlretrieve()
# 함수 호출(URL, 주소, 다운로드할 파일명), 결과값으로 다운로드한 파일명과 header 정보를 언패킹

print("End Download")

출력 값

 

HTML 파싱

- 웹 페이지의 HTML을 분석하여 필요한 URL을 추출하는 작업이 HTML 파싱

- 파싱(parsing)은 특정 텍스트를 분석하여 그 데이터로부터 필요한 정보를 추출하는 과정이다.

URL 정보의 표현 방법 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기