본문 바로가기

전체 글226

스크레이핑시 데이터 구조 클래스화 다양한 데이터 구조를 스크래핑하여 CSV 파일로 저장할 때, 데이터 구조를 클래스화하는 것이 좋은 선택일 수 있습니다. 클래스화는 데이터 구조의 구성요소를 객체로 표현하고, 객체 간의 관계와 동작을 정의하는 데 도움이 됩니다. 이를 통해 데이터를 더 구조화하고 가독성을 높이며, 유지보수 및 확장성을 개선할 수 있습니다. 클래스화의 장점은 다음과 같습니다: 데이터 구조의 추상화: 클래스를 사용하면 데이터 구조의 구성 요소를 객체로 표현할 수 있습니다. 예를 들어, 웹 스크래핑을 통해 가져온 뉴스 기사 데이터의 경우, "기사 제목", "작성자", "내용" 등을 클래스의 속성으로 정의할 수 있습니다. 관계 정의: 클래스는 객체 간의 관계를 정의하는 데 유용합니다. 예를 들어, 뉴스 기사 데이터와 관련된 "카테.. 2023. 7. 18.
스크래핑 사람처럼 꾸미기 Requests header의 User-Agent를 변경 다음의 웹 사이트에서 다음과 같은 User-Agent를 카피합니다. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Whale/3.21.192.18 Safari/537.36 https://www.whatismybrowser.com/detect/what-is-my-user-agent/ What is my user agent? Every request your web browser makes includes your User Agent; find out what your browser is sending and what thi.. 2023. 7. 17.
Crawling / Scraping 웹 크롤링(Crawling) vs 웹 스크래핑(Scraping) 기상청 우리나라 최근 3년간 기후변화 한화 최근 5년간의 성적 => 특정 문서의 데이터 수집 웹 크롤링 : 특정 문서와 링크된 문서를 수집 웹 스크래핑 조합 1. requests + beautifulsoup4 > 정적인 페이지 분석 2. requests + selenium > 동적인 페이지 분석 2023. 7. 11.
웹의 동작 웹의 동작 1. 요청(Request) 웹주소, form, header 등 요청 스트림 전송 2. 처리: database 처리 등 요청 대응 자원 존재 여부 검사 쿼리 스트링 파싱 3. 응답(Response) HTML, XML 등으로 결과 반환 응답 스트링 전송 4. 렌더링 브라우저 표시 브라우저 1. HTML Renderer 화면 표시 2. HTML DOM Parser 네트워크 엔진으로 받은 response으로 부터 객체 트리(DOM Tree) 생성 3. XHR(XML HTTP Request) 웹 서버와의 통신을 통하여 받은 정보로 DOM의 특정 노드를 업데이트 합니다. 동적인 페이지를 구성합니다. 4. Javascript Engine 5. Network Engine HTTP(s) 프로토콜을 통하여 웹 .. 2023. 7. 11.
꿀벌과 천둥 작가 : 온다 리쿠 출판사 : 현대문학 줄거리 : 일본 국제 콩쿠르에 참여하는 4명의 주요인물의 개별적인 스토리와 서로가 함께 만드는 이야기를 다룹니다. 콩쿠르는 총 1차, 2차, 3차, 본선으로 진행됩니다. 소감 : 이 전에 읽었던 소설에서 믿었던 작가에게 너무 뻔한 스토리의 완결로 약간 실망하고 다른 책을 찾고 있었습니다. 그러던 중에 온다리쿠의 이 소설을 메인에서 홍보하고 있길래 선택하게 되었습니다. 소설 초반부에는 그냥 이 소설도 다른 이야기처럼 뻔하게 콩쿠르가 진행되고 천재가 등장하고 이런식으로 진행 될 것 같아서 살짝 불안했습니다. 하지만 생각처럼 뻔한 스토리인것 같기는 한데 읽다보니 장면에 몰입하게되고 쭉쭉 읽혀졌습니다. 그래서 왜 이전에 읽은 소설은 뻔해서 싫었는데 지금 읽는 소설은 뻔한데.. 2023. 7. 11.
[2023-07-06] 파이썬 강의 내용 정리 1. Class 클래스는 중요한 몇가지 속성을 가집니다. 그 속성으로는 상속, 다형성, 가시성 등이 존재합니다. 가시성 표현은 Private, Public, Proteted 등이 있으며 클래스의 attribute나 method를 어느 수준까지 공개할 것인지에 대해 나타내지만 파이썬은 명시적으로 그런 가시성을 지원하는 키워드는 없습니다. 따라서 사용자는 가시성을 설정하기 위해 _나 __를 사용하여 사용자에게 보여지는 부분을 제한합니다. 더블 언더스코어를 사용했을 때 해당 변수의 getter, setter는 property decorator를 이용하여 표현할 수 있습니다. getter는 @property를 함수위에 작성하며, setter는 함수 위에 @{getter method name}.setter 로 작.. 2023. 7. 6.
VS Code에서 Git 사용 1. Git Workflow https://hapbbying.tistory.com/78 Git / Branch / Work flow / Git Flow란? Git 온라인으로 소스코드 공유 및 협업, 저장할 수 있는 시스템 흐름도 1. 저장소 a. workspace 실제 소스코드를 작업하는 공간 현재 작업 중인 파일이 있는 내 PC의 directory 일반적인 프로젝트 폴더 $ g hapbbying.tistory.com 2. Gitlab 연동 https://velog.io/@dkwjd131/Git-VScode%EC%97%90%EC%84%9C-gitlab-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0 [Git] VScode에서 gitlab/github 연동하기 . velog.io 3. G.. 2023. 7. 4.
Code formatter, Black 1. Code formatter 패키지 설치 conda install -c conda-forge black 2. Formatting provider 설정 Ctrl + , 를 눌러 설정창을 열고 Formatting Provider를 검색합니다. Formatting provider를 black으로 설정합니다. 3. Formatting 적용 Alt + Shift + F 를 눌러 Formatting을 적용합니다. 2023. 7. 4.
Python에서 * 매개변수 앞에 *를 붙이면 가변 매개변수가 된다. 매개변수 앞에 *를 두개 붙이면 키워드 가변 매개변수가 된다. iterable 객체 앞에 *를 붙이면 Unpack ooperator로 동작한다. 2023. 7. 3.