AI/Python 7

크롤링 안정화: 대기 처리, 예외 처리, 매너

“한 번 성공하는 코드”가 아니라 “여러 페이지를 안정적으로 수집하는 코드”를 만드는 핵심 단계크롤링을 처음 배울 때는 보통 이런 흐름으로 시작합니다.페이지 열기요소 찾기텍스트 추출하기리스트에 저장하기이 정도만 되면 일단 “크롤링이 된다”는 느낌을 받습니다.하지만 실제 프로젝트나 실무 환경에서는 여기서부터가 진짜 시작입니다.왜냐하면 실제 웹페이지는 항상 깔끔하게 동작하지 않기 때문입니다.예를 들어 이런 일이 아주 흔합니다.페이지가 생각보다 늦게 뜬다버튼을 눌렀는데 다음 요소가 바로 안 생긴다어떤 매물은 가격이 비어 있다어떤 카드만 구조가 조금 다르다몇 페이지는 정상인데 중간 페이지에서 갑자기 에러가 난다사이트가 요청을 너무 많이 보내는 것으로 판단해 차단한다크롤링 도중 인터넷이 잠깐 끊기거나 응답이 늦어..

AI/Python 2025.06.02

Selenium 기초: 동적 페이지 제어

클릭, 스크롤, 페이지 이동, 요소 탐색까지 웹페이지를 “직접 조작”하는 자동화 도구Selenium은 단순히 HTML을 받아와서 파싱하는 도구가 아닙니다.Selenium은 브라우저를 실제로 열고, 사람이 하듯이 페이지를 조작하면서 데이터를 수집하는 도구입니다.이 점이 requests + BeautifulSoup와 가장 큰 차이입니다.requests + BeautifulSoup는 주로:서버에 요청해서HTML을 받아오고그 HTML 안의 구조를 읽는 방식이었다면,Selenium은:브라우저를 실행하고페이지를 열고버튼을 클릭하고스크롤을 내리고페이지를 넘기고동적으로 로딩된 요소를 기다린 뒤화면에 실제로 나타난 데이터를 가져오는 방식입니다.즉, Selenium은“웹페이지를 읽는 것”을 넘어서 “웹페이지를 조작하는 것..

AI/Python 2025.05.30

웹 크롤링 기초: requests + BeautifulSoup 관점

웹페이지의 HTML을 가져오고, 그 안에서 원하는 데이터를 추출하는 가장 기본적인 수집 방식웹 데이터 수집을 처음 배울 때 가장 먼저 익혀야 하는 방식이 바로requests + BeautifulSoup 조합입니다.이 방식은 크롤링의 가장 고전적이면서도 중요한 출발점입니다.왜냐하면 많은 웹페이지는 결국 서버가 HTML 문서를 보내주고, 우리는 그 문서를 읽어 필요한 정보를 꺼내는 구조이기 때문입니다.즉, 이 파트의 핵심은 단순합니다.웹페이지에 요청을 보낸다HTML 문서를 받아온다HTML 구조를 해석한다원하는 요소를 선택한다텍스트나 속성 값을 추출한다이 흐름을 이해하는 것입니다.이 방식은 특히 다음 상황에서 매우 유용합니다.정적 페이지 데이터 수집뉴스, 게시글, 상품 목록 등 기본 웹 크롤링API 분석 전 ..

AI/Python 2025.05.29

웹의 구조 이해: HTML / CSS / DOM

크롤링과 웹 데이터 수집의 가장 밑바닥이 되는 핵심 개념웹 크롤링을 제대로 이해하려면 먼저 알아야 하는 것이 있습니다.바로 웹페이지가 어떻게 만들어져 있는가 입니다.많은 초보자가 크롤링을 처음 배울 때 이렇게 생각합니다.그냥 화면에 보이는 글자를 가져오면 되는 거 아닌가?Selenium이 알아서 다 해주는 거 아닌가?BeautifulSoup에서 find()만 쓰면 끝 아닌가?하지만 실제로는 그렇지 않습니다.크롤링은 결국 웹페이지의 구조를 읽고, 그 구조 안에서 원하는 데이터를 정확히 찾아오는 작업입니다.즉, 화면에 보이는 “중고차 가격”, “브랜드”, “주행거리” 같은 정보도브라우저 안에서는 그냥 텍스트 덩어리가 아니라,HTML 태그 구조 안에 배치된 데이터입니다.그래서 이 파트에서는 다음을 중심으로 이..

AI/Python 2025.05.28

데이터 저장 관점과 CSV / JSON / Excel 구조 이해

1. 왜 “데이터 저장 관점”이 중요한가?초보자는 종종 이렇게 생각합니다.데이터만 있으면 되는 거 아닌가?그냥 파일로 저장하면 끝 아닌가?CSV든 JSON이든 큰 차이 없지 않나?하지만 실제 프로젝트에서는 저장 형식이 아주 중요합니다.왜냐하면 저장 형식에 따라:나중에 읽기 쉬운지Pandas로 분석하기 쉬운지사람 눈으로 확인하기 쉬운지구조를 유지하기 쉬운지다른 시스템과 연결하기 쉬운지가 달라지기 때문입니다.즉, 데이터 저장은 단순 보관이 아니라“다음 단계 작업이 쉬워지도록 구조를 설계하는 일” 입니다.특히 중고차 프로젝트에서는 다음 같은 질문이 계속 나옵니다.크롤링 원본은 어떤 형식으로 저장할까?정제 후에는 어떤 형식이 좋을까?분석용 최종 데이터는 어떤 파일이 적합할까?웹 서비스에서 불러오기 쉬운 건 무엇..

AI/Python 2025.05.26

파이썬 파일 입출력과 모듈 구조

1. 왜 파일 입출력부터 알아야 할까?프로젝트를 다시 공부할 때 많은 사람이크롤링 코드나 Pandas 코드만 집중해서 봅니다.하지만 실제로 프로젝트가 막히는 지점은 오히려 이런 데서 자주 나옵니다.크롤링은 됐는데 어디에 저장된 건지 모르겠다저장한 파일을 다시 어떻게 읽는지 모르겠다CSV와 JSON 차이를 모르겠다다른 파일의 함수를 왜 import 하는지 헷갈린다main.py, Visualization.py, pages/가 어떻게 연결되는지 모르겠다즉, 프로젝트를 진짜로 이해하려면데이터가 파일로 흐르는 구조와코드가 파일 단위로 나뉘는 구조를 알아야 합니다.이 파트를 이해하면 나중에:크롤링 결과 저장전처리 결과 저장시각화용 데이터 불러오기Streamlit에서 함수 재사용같은 흐름이 훨씬 선명하게 보입니다.2..

AI/Python 2025.05.21

파이썬 기초 문법

1. 컴퓨터와 프로그래밍의 본질컴퓨터의 작동 원리: 전기 신호를 0과 1(이진법)로 구분하여 논리 연산과 저장을 수행하는 전자 기계입니다.파일과 실행 구조: 브라우저, OS 등 모든 프로그램은 파일로 존재합니다. 저장장치(HDD/SSD)에 있던 파일이 실행 시 **RAM(메모리)**에 복사되어 CPU와 상호작용하며 동작합니다.여기서 잠깐! 메모리의 잔류성 (주의사항) > 한번 실행되어 RAM에 할당된 데이터는 코드를 지우거나 주석 처리해도 메모리에 그대로 남아있습니다. 데이터를 완전히 바꾸려면 새로 할당하거나 커널을 재시작해야 합니다. (조리대 위에 올려둔 재료는 치우기 전까지 사라지지 않는 것과 같습니다.)코딩의 정의: 프로그래밍 언어를 사용하여 컴퓨터가 목적에 맞게 동작하도록 **소스코드(텍스트 파일..

AI/Python 2025.05.21