본문 바로가기
반응형

방구석코딩/주식 크롤링 분석12

[파이썬] 주식 크롤링 매크로화(4) - 파이썬으로 데이터 가져오기 함수정의 다음은 파이선에서 주식 데이터를 웹 페이지에서 실제로 파이썬으로 가져오는 작업이다. 이전에 한번 끝까지 실행하는 부분은 파이썬으로 데이터를 가져오는 부분과 동시에 csv 파일로 저장하였는데 이 부분을 분리하여 작업하였다.  1. 기존 코드 분석기존 코드를 보면 맨 처음엔 웹 주소, 다음에는 for문에서 네이버 증권 종목들을 1페이지에서 45페이지까지 반복하여 데이터를 df에 저장하고 불필요한 데이터를 제거한다. f_name부터는 파이썬의 데이터를 csv에 저장하는 부분이다.  사실 나는 애초에도 for문 부분과 csv에 저장하는 이 두 부분을 따로 분리하여 작업하고 싶었지만 반복문에 그냥 적용하게 되면 df에 덮어쓰기로 진행되어 맨 마지막 반복문의 결과만 df에 나타났다. 데이터를 파이썬으로 불러오는 부.. 2024. 8. 16.
[파이썬] 주식 크롤링 매크로화(3) - 선택항목 체크(입력) 함수적용 앞에서 체크박스 해제하는 부분까지 코드를 확인하고 함수정의화 할 부분과 그렇지 않은 부분의 코드를 확인하고 필요한 부분은 함수정의까지 생성했다. 다음은 선택항목 체크하는 부분에 대해 함수적용에 대해 알아보자.1. 코드분석아래 코드 내용을 살펴보면 첫줄은 체크박스 클릭을 통해 선택할 항목들이다. 이 부분은 원하는 항목이 달라지면 변경이 필요한 부분이다. 두번째 줄은 웹 페이지에서 name이 fielfIds인 엘리먼트를 찾는다. for문에서 if 전까지는 tag name이 label인 것들을 찾는다. if문은 slct_item의 항목들이 앞에서 찾은 라벨에 있는 라벨명이 있으면 클릭하라는 명령어다. 다음으로 마지막 두 줄은 클릭하여 선택한 항목들의 데이터가 보일 수 있도록 적용하기 버튼을 클릭하는 명령어이다.. 2024. 7. 31.
[파이썬] 주식 크롤링 매크로화(2) - 체크박스 해제 함수정의(코드분석) 주식 크롤링 매크로화를 위해 앞에서 먼저 사전준비 작업에 대해 알아봤는데, 추가된 패키지에 대해서는 앞에서 간략하게 설명했으므로 패키지의 대한 설명은 실제 코드가 작동하는 단계에서 자세히 알아보고 여기서는 웹 브라우저 부분과 체크박스 해제 부분의 함수정의에 대해 알아보자.  1. 함수정의란먼저 함수 정의에 대해 조금 알아보자면 아래 여러줄의 코드를 하나의 명령어로 간단하게 실행할 수 있도록 만드는 것을 말한다. 내가 수행할 작업을 하나의 명령어로 사용할 수 있도록 만드는 것이 사용자 함수정의인 것이다. 하지만 함수정의한 부분을 실행한다고 파이썬에서 어떤 결과가 생성되는 것이 아니다. 좀 더 쉽게 말하면 우리가 외부 패키지를 불러왔을 때 어떤 결과가 생성되지는 않았다. 불러온 패키지의 명령어를 실행했을 때.. 2024. 7. 25.
[파이썬] 주식 크롤링 매크로화(1) - 함수정의 및 사전작업 앞에서 네이버 증권 크롤링 하는 방법에 대해서 사전준비사항부터 크롤링한 자료를 파일로 저장하는 것까지 끝까지 한바퀴 돌아가는 방법을 배웠다. 그러면 나머지 부분을 어떻게 쉽게 실행할 수 있는지 알아보자.다른 인터넷 자료를 찾아보면 단지 기술적으로 코드를 어떻게 실행할지에 대한 얘기들이 대부분이다. 하지만 실제로 코딩을 위해서는 그림을 어떻게 그려야 하는지부터 아는게 순서다.  이 부분이 선행되지 않는다면 기껏해야 인터넷 찾아보고 코드 따오고 시키는 코드만 작성하는 것밖에 되지 않는다. 코드를 몰라도 이 부분은 이렇게 변경하면 되겠는데? 여기선 이렇게 하면 되겠구나 라는 생각을 가지는 연습이 훨씬 중요하다. 명령어나 패키지, 기능적인 부분을 암기해서 시험볼게 아니라면 저런 내용들이 정리되고 나면 기술적인 .. 2024. 7. 23.
[파이썬] 주식 데이터 크롤링(8) - 전체 코드 및 향후 해결사항 앞에서 파이썬을 이용하여 주식 데이터를 크롤링하기 위해서 단계적으로 진행했는데, 이제 한 사이클을 실행할 수 있는 코드를 작성했다. 차근차근 앞의 해결책들을 따라해봤다면 아래 코드는 이전의 내용을 정리한 것이라 보면 된다. 전체 코드 정리편의를 위해서 앞의 코드를 한곳에 모아두었으니 필요한 경우 사용하길 바란다. 이대로 진행하면 코스피 전체 종목의 체크항목 6개의 정보를 csv 파일에 저장하는 것은 무리가 없다. import os # 파일 저장 여부를 확인하는 모듈import pandas as pd # 데이터 분석 및 핸들링 모듈from selenium import webdriver .. 2024. 7. 18.
[파이썬] 주식 데이터 크롤링(7) - csv로 저장 앞에서 파이썬을 이용하여 주식 데이터 크롤링을 위해 웹 페이지에 있는 정보를 파이썬으로 가져오는 부분까지 진행했다.하지만 반복문을 수행하면서 동일한 데이터프레임명으로 저장하는 과정에서 반복문의 가장 마지막 정보만 파이썬으로 가져오게 되었는데 이 부분을 csv 파일로 저장하면서 해결해보기로 한다. 앞의 내용을 참고하여 보기 위해 기존에 진행했던 내용을 확인하고 저장하는 과정과 문제점에 대해서 해결하자. [파이썬] 주식 데이터 크롤링(6) - 웹 페이지 데이터 가져오기 (for문)파이썬을 주식 데이터 크롤링을 위해서는 앞부분까지는 웹 브라우저에서 실행 및 제어하는 부분이었다면, 이제는 이렇게 원하는 페이지의 정보를 파이썬으로 데이터를 가져오는 영역이다. 데gusugi.tistory.com   기존 문제점 해.. 2024. 7. 16.
[파이썬] 주식 데이터 크롤링(6) - 웹 페이지 데이터 가져오기 (for문) 파이썬을 주식 데이터 크롤링을 위해서는 앞부분까지는 웹 브라우저에서 실행 및 제어하는 부분이었다면, 이제는 이렇게 원하는 페이지의 정보를 파이썬으로 데이터를 가져오는 영역이다. 데이터 가져오기먼저 데이터를 가져오려는 주소를 p_url에 입력하고 browser.get을 통해 해당 주소를 입력한다. 여기서 우리는 1페이지에서 45페이지까지 변경하면서 데이터를 가져와야 하기 때문에 page= 뒷부분에 1,2,3,4,... 마지막 페이지 번호까지 변경이 필요하다.  이때 url 주소는 문자이기 때문에 문자로 변경하는 str문을 써주고 앞의 url 주소와 결합을 위해서 + 를 이용한다.p_url = 'https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&pa.. 2024. 7. 12.
[파이썬] 주식 데이터 크롤링(5) - 웹 브라우저 체크박스 선택 (selenium) 앞에서 파이썬을 이용하여 주식데이터 크롤링을 위해 체크박스를 해제하는 부분까지 진행하였다. 그러면 이제 웹 브라우저에서 내가 원하는 항목의 체크박스를 클릭하는 방법에 대해 알아보겠다. 이미 체크박스를 해제하는 부분을 진행했기 때문에 코드 중 일부는 유사하기 때문에 추가로 작성된 내용을 위주로 알아보자. 체크항목 알아보기우리가 크롤링 하려는 네이버 증권 페이지에서는 총 체크박스 항목이 27개다. 앞에서 항목은 라벨을 기준으로 가져올 것이라고 정의했다. 다른 방법도 있겠지만 여러가지 시도를 해봤는데 모두 실패해서 라벨 기준으로 선택항목을 체크할 것이다. 자 먼저 체크박스를 선택하기 위해 앞에서 봤던  html 부분을 다시 살펴보자.내가 생각하기에는 라벨보다 value에 있는 값을 기준으로 가져오는 것이 더 .. 2024. 7. 11.
반응형