본문 바로가기
웹 크롤링/Web Crawling

Web Crawling 하기전 지식 쌓기

by Jasonify97 2023. 2. 17.

1. Server & Client

Client : 브라우저를 통해 서버에 데이터를 요청
Server : Client가 데이터를 요청하면 요청에 따라 데이터를 전송

2. URL(Uniform Resource Locator)

http://news.naver.com:80/main/read.nhn? mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211#da_727145

http:// :  protocol(통신방식)
news  :  sub domain
.naver.com  :  domain
80  :  port(서버 내 포트번호 web=80,443 db=3306을 많이씀)
/main/read.nhn :  path(서버 컴퓨터 내 파일 위치)
? mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211  :  query(페이지 내부 레이아웃? 네이버 기사페이지에서 31번째 기사를 뜻함)
#da_727145  :  fragment(맨위로 버튼, 한페이내 다른 위치로 이동시키는버튼)

3. Get & Post

  • Get
    • url에 데이터가 포함 = 데이터가 노출
    • 길이체한이 있음 
  • Post
    • url이 아닌 html body에 데이터가 숨겨져있음
    • 그래서 비밀번호 같은것을 post방식으로 씀

4. Cookie & Session & Cache

  • Cookie
    • client에 저장하는 문자열데이터로 도메인 마다 따로 저장됨
    • 로그인정보, 내가봤던 상품 목록 팝업 다시보지않음 등
    • 하나의 client에 30개 도메인당20개, cookie 하나당 4Kbyte
  • Session
    • server에 저장하는 객체데이터로 브라우저와 연결시 Session ID생성
    • Session ID를 Cookie에 저장함으로써 로그인 연결 유지
    • 같은 브라우저로 같은 서버에 접속하여 로그인정보를 연결
  • Cache
    • Client or Server 메모리에 저장하여 빠르게 데이터를 가져오는 저장소

5. HTTP Status Code

  • 2xx : success
  • 3xx : redirection(browser cache)(요청에 대한 성공을하려면 추가작업이 필요함)
  • 4xx : request error
  • 5xx : server error

6. Web Crawling 방법 3가지

  1. 정적인페이지 크롤링(웹페이지가 한번 뜨면 이벤트에의한 화면변경이 없는 페이지, json 이용, url이 바뀜)
  2. 동적인페이지크롤링(웹페이지가 한번 뜨면 이벤트에의한 화면이 변하는 페이지, html 이용, url이 안바뀜)
  3. selenium 이용

7. 크롤링 속도

json  >  html  >  selenium

 

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

[Web Crawling] 3. 정적페이지,html  (0) 2023.02.27
[Web Crawling] 2. Web API  (0) 2023.02.26
[Web Crawling]  (0) 2023.02.17