[SK shiedlus Rookies 23]Python(6-1)_24.10.22

박소민·2024년 11월 2일

Python

목록 보기
15/23
post-thumbnail

Part.1

타겟 사이트 선정 및 분석

  • NAVER 제공 환율 정보 수집

    • 무료 API 존재X
      • So. 공급업체를 통해서 유료 제공, 서비스 제공 형태를 취함
      • 하루에 수백회 갱신된다 (최초 반영시간, 끝반영시간 ck)
        when 자동화, 검토
  • 타겟 사이트 진입(https://finance.naver.com/marketindex/)

  1. 검토
    🔘타겟 위치에서 우클릭 > 프레임소스 확인여부 체크
    🔘 If 확인 = 페이지 안에 페이지가 존재한다
    (즉, 실제 페이지다른 주소를 사용하고 있다)

    🔘우클릭 > 프레임소스 보기 > 주소창에서 URL(타겟사이트) 획득
    https://finance.naver.com/marketindex/exchangeList.naver
  • 사이트 분석 결과
  1. 환율 메타 정보: 시간, 공급업체, 회차
    ▶타겟사이트 : https://finance.naver.com/marketindex/
  2. 국가별 환율 정보: 통화명, 매매정보,...
    https://finance.naver.com/marketindex/exchangeList.naver

접속

웹문서를 긁어온다

파싱

                           ↪️html5lib = 로컬pc에서 사용시 별도 설치 가능

⭐⭐ 완성된 part1 코드

                                 🔽🔽🔽

Part.2

탐색 추출

  1. 선행기술
  • css selector | xpath 사용법 이해
    html 내에서 특정 요소를 특정하는 기술(표현)
  • 웹 문서 이해
    : 클라이언트가 브라우저에서 보는 화면 구성
	<< 역할 >>
	- html : 💥구조, 💥데이터
	- css  : 레이아웃, 디자인, 💥요소탐색, 애니메이션, 반응형(PC,모바일 동시지원)
	- js   : 인터렉티브, 이벤트, 통신, 동적처리

📚 ccss selector [[ 탐색 조건 ]] 📚

  1. 요소명
<div> ... </div>
  • 검색) div... (태그명 그대로 사용)
    ↪️해석 : 문서상에 존재하는 모든 div를 특정(So.복수개 선택됨) ➜ list로 출력
  1. 아이디값
<input id="uid" ...>
  • 검색) #uid ... (# +아이디값)
    ↪️해석 : 문서상에 고유한 단 한개의 요소를 특정, 탐색의 1순위 -> 해당 객체로 처리됨
  1. 클레스값
<p class="myStyle">...</p>
  • 검색). + 클레스값 => .myStyle
    ↪️해석 : 문서상에서 해당 클레스값을 가진 모든 요소를 찾아라 -> list
  1. 서열
<ul>
  <li>1</li>
  <li>2</li>
</ul>
  • 부모 -직계자식 : >
  • 부모 밑 -직계, 후손 모두 포함 : 한칸공백
    ↪️해석 : ul>li = ul 의 직계자식 li
  1. 조합
input#uid
  • 여러 표현식을 합쳐서 구성
    ↪️ 해석 : 문서상에 존재하는 모든 input 태그들 중에 아이디값이 uid인 요소 -> 객체 1개
  1. 열거
h2, input, div, .myStyle
  • 서로 관련성 없는 태그들의 나열
  1. 의사결정 => 코드에서 확인
  2. 속성
    Ex.01 > 사용자에게 입력을 받는 태그
<input name='uid' .../>

Ex.02 > [속성명=속성값]

[name=uid] or input[name=uid]

추출 절차

: 해당 데이터 요소 분석 ➜ css selector | xpaht 특정 ➜ 코드반영 ➜ 결과확인

Ex > 해당 데이터 요소 분석- "통화 정보 추출"

                         ↪️ < 부가설명 >
                        -긁고자하는 데이터 요소 탐색 
						-[class값-탐색조건] <td class = "tit"> ➜ .tit

📚 그외 탐색 방법

  • 타겟 부분 우클릭(or F12) ➜ 검사 ➜ html 코드가 노출됨(개발자 모드 오픈) ➜ 대상 요소 우클릭 ➜ copy ➜ copy selecor
    😾 툴에서 만드는 방식이므로, 요구사항과 맞지 않을수 있다
                    ⤷ So. 가능하면 직관적으로 처리 추천

Ex > 코드 만들기

	                      🔽🔽🔽

ex-1. 위 코드 기반으로 58개 통화명을 가진 리스트를 만들기 = [ '미국 ..',. ... ]

(+) ex-2. 매 기준율 값을 획득하여, 리스트로 값 출력 = [ 1381.xx, ... ]

0개의 댓글