본문 바로가기
카테고리 없음

네이버의 다양한 URL은 어떤 구조일까? 크롤링을 위한 URL 분석하기!

by IT_traveler 2023. 1. 12.

안녕하세요!

오늘은 네이버의 다양한 URL ( html )을 분석해 보기로 했는데요!

프론트엔드든 백엔드든 크롤링은 자주 사용되는 기술이라서 여러번 배우고 있답니다 ><

 

https://comic.naver.com/bestChallenge/list?titleId=111111

 

요건 제가 네이버 웹툰에서 아무거나 가져온 코드 중에 하나로 KEY 값을 111111로 대체한 url 인데요

왜냐면..! 웹툰 ID 값은 고유한 값 ( 보통 DB에 저장되는 ) 것이기 때문에 처리가 쉽죠

 

우선.. 

https:// 는 프로토콜 이름 : //!

그러니까.. http / https 가 있고 크롤링 접근도 http/s로 되는 경우가 따로따로 더라구요..

DNS 서비스에서 강제 HTTPS 링커를 켜면 https로 불러오는 데 큰 차이 없어요!

 

그 다음은 컴퓨터 주소

dns 는 알기 힘든 1.1.1.1 같은 인터넷 프로토콜(IP)주소를 기억하기 쉽게 바꾼 것으로

1.1.1.1 = cloudflare.com 뭐 이런 식인 거랍니다!

그 다음부터가 중요한데

 

/bestChallenge/ 는 소속 html이 보내지는 경로인데 ( GET / POST )

"/"은 메인 페이지 ( 도메인 다음 ) 

/을 통해서 페이지 주소를 구분하고 전송될 html파일을 결정하게 되어있습니다!

 

그리고.. list?는 db 구문 같은데 보통은 막는 경우도 많답니다 ( 사실 서버상에서 지원하면 리스트 필요 없이 그냥 /titleid=로 만들어도 될 거 같아요!

 

그 다음 고유값 뒤에 숫자들은 서버상에 숫자 = " 웹툰 넘버 " 가 매칭되기 때문에 그런 거 같아요

변경되지 않고 수정되지 않는 값이랍니다~  >_<

 

= 저 뒤에 숫자만 바뀌면 다른 웹툰을 찾을 수 있다는 거죠?
https://comic.naver.com/bestChallenge/list?titleId="웹툰 코드"

이런 식이면

 

저희가 어떤 웹툰의 정보를 가져오고 싶으면 ( 제목 등 ) 

https://comic.naver.com/bestChallenge/list?titleId=701701 이런 식으로 존재하는 코드로만 바꿔주면 된다는 거니까..

뒤에 숫자만 바꾸는 코드를 작성하고 돌리면 된다는 뜻입니다 >_

 

https://finance.naver.com/sise/sise_index.naver?code=KOSPI 

 

코스피 : 네이버 증권

관심종목의 실시간 주가를 가장 빠르게 확인하는 곳

finance.naver.com

https://finance.naver.com/sise/sise_index.naver?code=KOSDAQ 

 

코스피 : 네이버 증권

관심종목의 실시간 주가를 가장 빠르게 확인하는 곳

finance.naver.com

다른 서비스도 비슷한데 이 경우에는 뒤에 코드만 바꿔 주면 하나의 코드로 다른 지수나 그래프 데이터도 가져올 수 있다는 뜻이 되죠

( 단점은 헤더 요청 없이 ( User-Agent ) 보내면 네이버는 막아버린다는 건데 셀레니움 ( 실제 크롬창 제어 ) 하면 문제는 없더라구요...? ) 하지만 BS4 로 그냥 헤더 없이 불러오면 오류가 뜨게 됩니다...