멋쟁이사자처럼 13기/TIL 챌린지

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

개발자 지망생 리네 2025. 5. 10. 23:57

📆 DAY33

 

3. 웹크롤링을 활용한 데이터 수집 자동화

(3) 네이버 환율 수집

<CSS 선택자를 작성하는 노하우>

1. 내가 작성한 css 선택자 확인

2. 동명이인 유무 확인 (cmd+F -> CSS 선택자)

3. 동명이인 위치 확인

 

- i : 반복되는 것이라 for 문에서 많이 사용됨

 

- 네이버 환율 웹크롤링

import requests
from bs4 import BeautifulSoup

code = requests.get("https://finance.naver.com/marketindex/?tabSel=exchange")
soup = BeautifulSoup(code.text, "html.parser")
price = soup.select("ul#exchangeList.data_lst span.value")
name = soup.select("ul#exchangeList.data_lst h3.h_lst > span.blind")
for i, j in zip(name, price):
    print(f"{i.text} : {j.text}")

 

 

더 알고 싶은 점

- html의 태그 종류

-> head, 글자/폰트, 리스트, 테이블, 링크, 미디어, 폼, 시맨틱, iframe

https://inpa.tistory.com/entry/HTML-🏷%EF%B8%8F-태그-요약표

https://developer.mozilla.org/ko/docs/Web/HTML/Reference/Elements

 

HTML 요소 참고서 - HTML: Hypertext Markup Language | MDN

이 페이지는 태그를 사용해 만들 수 있는 모든 HTML 요소의 목록을 제공합니다. 필요로 하는 요소를 쉽게 찾을 수 있도록 기능별로 분류했으며, 각각의 요소 참조 페이지 사이드바에서는 사전 순

developer.mozilla.org

 

 

느낀 점

한 페이지 내에 생각보다 같은 이름을 가진 동명이인이 많아서 놀랐다. 데이터를 추출할 때에는 내가 원하는 데이터만 쏙쏙 뽑아 간결하게 하는 것이 매우 중요하기 때문에, 내가 원치 않는 데이터를 함께 가져오게 되는 문제를 해결하는 것이 중요한 것 같다. 그럴 때에는 주민등록번호처럼 고유한 번호, 그러니까 여기서는 CSS 선택자를 상세하게 지정하는 것이 필요한데, 아무래도 태그 안에 태그가 연속적으로 있는 구조이다보니 찾아내는 것도 어려워보였다. 하지만 find 기능을 사용하면 동명이인이 어디에 있는지 확인할 수 있어서 보다 편리하게 겹치지 않는 선택자를 찾아내는 것이 가능하다는 사실을 알게 되어 한숨 놓았다. 이 기능을 적극적으로 활용하여 편하게 코드를 작성할 수 있으면 좋겠다.