Python

코딩 개발/Python

Python - 웹 스크래핑 (feat.Selenium, 오피넷(Oil Price Information Network))

이번 시간은 웹을 직접 켜야지만 데이터를 받을 수 있는 동적 웹페이지 크롤링을 해보겠습니다. (오피넷 관계자님 혹시 너무 트래픽이 많아지는 것 같으면 말씀 주세요... 근데 조회수가 적어서 그럴 일은 없을 겁니다..ㅠ) 웹 스크래핑을 하다 보면, 단순히 URL만 요청해서는 원하는 데이터를 얻을 수 없는 사이트들을 자주 만나게 됩니다.로그인이 필요하거나, 버튼을 클릭해야 데이터가 나타나고, 스크롤을 내려야 추가 정보가 로드되는 등 사용자의 개입(Interaction)이 강하게 요구되는 곳들이죠. 이런 난이도 높은 '동적 웹페이지'를 크롤링할 때 사용하는 가장 강력하고 대중적인 도구가 바로 Selenium(셀레니움)입니다.오늘은 Selenium을 이용해 오피넷(한국석유공사)의 전국 주유소 가격 데이터를 자동..

코딩 개발/Python

Python - 데이터수집처리 (적재) 3

데이터수집처리 1탄 : https://pabeba.tistory.com/276데이터수집처리 2탄 : https://pabeba.tistory.com/277 오늘은 마지막으로 데이터를 적재해 보겠습니다.앞서 진행된 데이터 추출(Extract) 및 변환(Transform) 단계를 거쳐 생성된 최종 데이터를 영구적인 저장 매체(파일, 데이터베이스 등)에 보관하는 적재(Load) 단계에 대한 가이드입니다.파이썬의 데이터 분석 라이브러리인 pandas를 활용하면 리스트 형태의 데이터를 표(Table) 형태의 DataFrame으로 변환할 수 있으며, 내장 메서드를 통해 CSV 파일이나 RDBMS(관계형 데이터베이스)로 간편하게 적재할 수 있습니다. 1. 데이터프레임(DataFrame) 변환파이썬의 딕셔너리를 요소로..

코딩 개발/Python

Python - 데이터수집처리 (feat. 네이버 finance 환율) 2

저번 시간에 이어서 이제 위에 있는 메타 정보를 가져와보겠습니다. https://pabeba.tistory.com/276 1. 메타 정보 추출 목적개별 통화의 환율 데이터(매매기준율, 미화환산율 등)만으로는 해당 데이터의 기준 시점과 제공처를 정확히 식별할 수 없습니다. 데이터의 무결성과 시계열 분석을 보장하기 위해 기준 시간, 고시 은행, 고시 회차와 같은 메타 정보(Meta Data)를 별도로 추출하여 개별 데이터 셋에 병합해야 합니다.2. Part 1: 타겟 사이트 접속 (요청 및 응답)환율 상세 정보와 메타 정보가 존재하는 페이지가 다를 경우,메타 정보를 제공하는 별도의 URL에 HTTP GET 요청을 보내 HTML 응답을 획득해야 합니다.import urllib.request as reqfrom..

코딩 개발/Python

Python - 데이터수집처리 (feat. 네이버 finance 환율) 1

네이버 finance 환율 웹 화면에서 데이터를 가져오는 법을 알아보겠습니다.(네이버님들 혹시 트래픽이 너무 많이 잡혀 문제가 되면 글을 숨김처리하겠습니다. 근데 보러 오는 사람이 별로 없어서 그럴 일은 없을 것 같습니다.... ㅠ) 데이터 분석이나 자동화 프로젝트를 진행하다 보면, 필요한 데이터를 항상 깔끔한 형태의 Open API로 얻을 수 있는 것은 아닙니다. 때로는 우리가 직접 웹사이트에 접속해서 화면에 보이는 정보를 긁어와야(Scraping) 하는 경우가 발생하죠.오늘은 Open API가 제공되지 않는 환경에서 BeautifulSoup(BS4)를 활용하여 웹 데이터를 추출(Extract)하고 변환(Transform)하는 ETL 파이프라인 구축 방법을 알아보겠습니다. 1. 웹 스크래핑(Scrapi..

코딩 개발/Python

Python - 데이터 수집, 처리, 적재 (ETL) (feat. NAVER Developer 어플리케이션 사용 법, Google Colab에서 API 사용)

이번 시간에는 데이터 엔지니어로서 꼭 해야하는 데이터 수집, 처리, 적재ETL( Extract , Transform , Load )에 대하여 알아봅시다.데이터 추출을 위해 NAVER Devoloper 에서 api 를 빌려올 예정입니다.NAVER Devoloper API 사용법 1. NAVER Devoloper 입장https://developers.naver.com/main/ NAVER Developers네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음developers.naver.com 2. NAVER Devoloper 로그인 3. Applicatio..

코딩 개발/Python

Python - 모듈 (from, import)

이번 시간에는 파이썬 코드가 길어지고 복잡해질 때, 이를 효율적으로 관리하고 재사용하기 위해 필수적으로 알아야 하는'모듈(Module)'과 '패키지(Package)'에 대해 알아봅시다. 파이썬 프로그래밍을 시작하고 코드가 100줄, 1000줄 길어지다 보면 하나의 파일(*.py)에 모든 로직을 담는 것이 불가능해집니다.코드의 가독성이 떨어지고, 유지보수가 힘들어지며, 여러 명의 개발자가 함께 협업하기도 어렵기 때문입니다. 이러한 문제를 해결하기 위해 파이썬은 코드를 기능별로 쪼개어 관리할 수 있는 모듈(Module)과 패키지(Package)라는 훌륭한 시스템을 제공합니다.오늘은 이 두 가지의 개념과 활용법, 그리고 파이썬 스크립트에서 항상 보게 되는 __name__의 비밀까지 완벽하게 파헤쳐 보겠습니다...

호소세
'Python' 태그의 글 목록