[웹크롤링]Web 구조와 개념

2024. 9. 19. 23:20·Dev/웹크롤링

Server & Client Architecture

- client : 브라우저를 활용해 서버에 데이터를 요청 ( request)

- server : 클라이언트의 브라우저에서 데이털르 요청하면 요청에 따라 데이터를 client에 전송 ( response)

 

URL

https://n.news.naver.com/article/079/0003939868?sid=100

 

https:// - protocol

news - Sub Domain

naver.com - Primary Domain : 어떤 서버로 갈지 알려줌  

80 or 443 - port : 서버에 들어가서 어떤 프레임워크로 데이터를 요청할지 선택하는 포트

/article/079/0003939868  - path: 디렉토리 이름 , 경로

?sid=100 - Query : key value 로 구성되어 있는 하나의 데이터에서 어떤 데이터를 볼지 server에 정보 전달

 

*없는 부분

read.nhn - Page (File) : 디렉토리에 있는 파일에 접속, 파일 이름

#fragment - Fragment : # 뒤에 붙는 부분, 페이지 내의 특정위치 지정. 웹페이지 id 값 찾아서 그 화면을 보여줌

 

*http / https 차이

https 는 데이터를 암호화하여 전송, 기본포트는 443

http 는 기본 프로토콜, 데이터를 암호화하지 않음. 기본 포트는 80

HTTP Request Methods

1. Get 방식 : URL 에 쿼리 포함, 쿼리(데이터) 노출, 전송 가능 데이터 작음

2. Post 방식 : Body 에 쿼리 포함, 쿼리(데이터) 비노출, 전송 가능 데이터 많음.

HTTP Status Code

client 와 server가 데이터를 주고 받은 결과 정보 

- 2xx : success

- 3xx : redirect

- 4xx : request error

- 5xx : server error

 

Cookie, Session, Cache

1. cookie

- 클라이언트의 브라우저에 저장하는 문자열 데이터

- ex) 로그인 정보, 내가 봤던 상푸 정보 팝업 다시 보지 않음 등

2. session

- 클라이언트의 브라우저와 서버간의 연결 정보

ex) 자동 로그인

3. cache

-client,server의 RAM(메모리)에 저장하는 데이터

-RAM에 데이터를 저장하면 데이터 입출력 빠름

 

Web Language & Framework

1. Client (frontend)

- html

- css : Bootstrap, Sematic UI, Materialize, Material Design life

- javascript : reat.js, vue.js, angular, jQuery

 

2. Server(Backend)

-python : Django, Flask, FastAPI

-Java : Spring

-Ruby : Rails

-Scala : Play

-Javascript : Express(node.js)

 

Scarping & Crawling

1. scraping : 특정 데이터를 수집하는 작업

2. crawling : 웹서비스의 여러페이지를 이동하며 데이터를 수집하는 작업/ spider,web crrawler, bot 용어 사용

 

 

웹페이지 종류

1. 동적 페이지: 웹 브라우저에 화면이 뜨고 이벤트가 발생하면 서버에서 데이터를 가져와 화면을 변경

-url 새로 고침이 일어나지 않음.

-서버로부터 list 나 dict 을 JSON 포맷으로 받아옴

 

2. 정적 페이지: 웹 브라우저에 화면이 한번 뜨면 이벤트에 의한 화면 변경이 없는 페이지

-url 이 바뀜

- 서버로부터 html 으로 받아옴

 

데이터 수집 방법

1. url 찾기 : 웹페이지 분석 (chrome dev tool)

2. request (URL) : response(data)

 - JSON :동적 페이지

 - html : 정적 페이지

3. Parshing : data를 dataframd(DF)로 바꿔줌

- JSON/html 방법이 달라짐

'Dev > 웹크롤링' 카테고리의 다른 글

[웹크롤링]Python 클래스 사용법  (0) 2024.09.19
'Dev/웹크롤링' 카테고리의 다른 글
  • [웹크롤링]Python 클래스 사용법
#코딩 공부
#코딩 공부
tildacoding 코딩 공부
  • #코딩 공부
    tildacoding
    #코딩 공부
  • 전체
    오늘
    어제
  • 글쓰기 관리자
  • Personal

    • 홈
    • 태그
    • 방명록
  • link

    • GITHUB
    • 분류 전체보기 (51)
      • Dev (12)
        • python (0)
        • 웹크롤링 (2)
        • 머신러닝 (3)
        • 딥러닝 (4)
        • 언어지능 딥러닝 (2)
        • SQL (1)
        • Spring (0)
      • 코딩테스트 (16)
        • 백준 (3)
        • 프로그래머스 (7)
        • 기타 문제 (2)
        • 코딩테스트를 위한 정리 (4)
      • Study (4)
        • 알고리즘 (2)
        • 자료구조 (2)
      • 대외활동 (18)
        • 에이블스쿨 (18)
        • 공모전 (0)
  • 공지사항

    • 루틴 skrrrrr
  • 인기 글

  • 태그

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
#코딩 공부
[웹크롤링]Web 구조와 개념
상단으로

티스토리툴바