파이썬: 44개의 글
| 들어가기 전에 GIT 저장소 지금 포스팅은 국토교통부에서 제공하는 부동산 공공데이터 API를 사용합니다. 아래 포스팅을 보시고 먼저 부동산 공공데이터 API를 신청해주시길 바래요! [기타 정보/ETC] - 국토교통부 공공데이터 부동산 실거래가 API 신청 방법 이전 포스팅 [Python/파이썬 웹 크롤링] - [파이썬 크롤링/부동산 데이터] 스크래피(scrapy) startproject로 초기 프로젝트 구성하기 | 부동산 매매 데이터 간단하게 받아오기 국토교통부 사이트에 접속해서 로그인을 하신다음 마이페이지의 오픈 API를 클릭합니다. 그러면 전에 신청했던 API의 목록이 나오며 API에서 데이터를 얻기 위한 일반 인증키와 End Point를 다음과 같이 제공합니다. 이 일반 인증키와 End Poin..
| 변동하는 코스피(KOSPI), 코스닥(KOSDAQ) 종목 주식 리스트 코스피(KOSPI), 코스닥(KOSDAQ)에 상장된 종목 리스트는 수시로 변합니다. 새로운 기업이 시장에 상장되기도 하면 또한 폐지되기도 하기 때문이죠. 따라서 변동하는 주가 종목들을 갱신하려면 주기적으로 종목 데이터를 업데이트해야 합니다. 이 주식 종목 리스트들을 주기적으로 쉽게 갱신하는 방법 중 하나로 증권사 API를 통해 데이터를 받아오는 방법이 있습니다. | 이베스트 API (Ebest API)를 통한 코스피(KOSPI), 코스닥(KOSDAQ) 종목 요청 이베스트 API를 통해 코스피, 코스닥의 종목 리스트를 쉽게 받을 수 있습니다. 먼저 파이썬을 통해 증권사 API에 로그인한 후 다음과 같은 코드를 실행시킵니다. TR = ..
| 파이참(PyCharm) 파이참(PyCharm)은 JetBrain이란 회사에서 만든 강력한 Python IDE 입니다. IntelliJ 라는 Java IDE로 유명한 제품을 만든 회사죠. 파이참의 강점은 한 번 설치하면 파이썬에서 지원하는 venv, pytest 등 여러 기능들을 손쉽게 통합해서 쓸 수 있고 손쉬운 설정기능과 편리한 여러 플러그인을 지원한다는 것입니다. | 설치 경로 ▶ https://www.jetbrains.com/pycharm/ | 설치 방법 위 설치 경로로 이동해서 Community 버전을 다운받도록 합니다. 모든 설치과정이 끝난 후 다음과 같은 창이 뜰 것입니다. Do not import settings를 체크하고 OK를 누릅니다. 원하는 UI Desing을 선택합니다. PyCh..
| 판다스 분포 : 이항분포, 정규분포, 카이제곱분포 (Pandas Distribution : binomial, normal, uniform, chisquare) 판다스에서는 여러 확률분포들을 시뮬레이션 할 수 있도록 유용한 기능을 제공하고 있습니다. 다음은 그와 관련된 예제들입니다. import pandas as pd import numpy as np # 0.5의 확률로 1번 시도했을 경우 # 성공한 횟수를 나타냄 (binomial distribution) binom = np.random.binomial(1, 0.5) print(binom) # 0 # 0.5의 확률로 1000번 시도해서 성공한 비율 binom_possible = np.random.binomial(1000, 0.5)/1000 print(..
| 변수 및 함수 파이썬은 동적타입 언어입니다. 동적타입 언어는 type을 선언하지 않아도 실행시간에 자동적으로 타입이 정해지는 언어입니다. Java와 C같은 정적 타입 언어들과 비교하면 쓰기가 간결하다는 장점을 가지고 있죠. 다음은 파이썬의 변수 선언입니다. type 선언없이 정수값을 변수에 할당할 수 있습니다. 사칙연산도 바로 가능하죠. x = 1 y = 2 x + y 3 파이썬의 함수는 def 키워드를 이용해서 선언합니다. 그리고 보시면 아시겠지만 파이썬은 들여쓰기 자체가 문법입니다. 들여쓰기를 제대로 지키지 않을 시 syntax error가 나와 인터프리터가 파이썬 코드를 해석하지 못합니다. def add_numbers(x, y): return x + y add_numbers(1, 2) 3 파이썬..
Python의 generator라는 것은 간단하게 말하면 iterator를 생성해주는 함수입니다. Python에서 iterator는 next()메소드를 이용해 데이터에 순차적으로 접근이 가능한 오브젝트죠. generator는 일반적인 함수와 비슷하지만 함수 안에 yield란 키워드를 작성하여 next()가 호출될 때마다 다음 데이터의 값을 반환한다는 것이 가장 큰 차이점입니다. def gen(n): i = 0 test = ['a', 'b', 'c'] while i < n: print("This turn:", test[i]) yield test[i] i = (i + 1)%3 sample = gen(6) for i in range(6): print(next(sample)) 위의 코드를 보면 gen라는 함수를..
print 출력 함수를 쓸 시 소수점 이하 자리수를 나타내기 위해서는 다음과 같이 코드를 작성하면 됩니다. num = 1.23456789 print('%.10f' % num) 출력 1.2345678900 출처: https://engkimbs.tistory.com/19?category=688857 [새로비]
이전 scrapy에 대한 소개와 아키텍처에 대한 글과 이어지는 내용입니다~ [Python/Python 프로그래밍] - 파이썬 웹 스크래핑할 때 이거 쓰세요. 최고의 파이썬 웹 스크래핑 솔루션 scrapy window에서 anaoncda를 통해 scrapy를 설치했을 때 계속 실행 오류가 뜨시면 일반 Python 공식 사이트에서 배포하는 Python 프로그램을 설치하여 Scrapy를 설치하세요! 저도 최근 anaconda를 설치해서 scrapy를 진행했었는데 계속 오류가 나서 Python으로 다시 진행했더니 잘 작동됩니다! | scrapy 설치 scrapy를 설치하기 위해서는 pip 패키지 매니져를 이용할 때는 다음과 같은 명령어를 입력하시면 됩니다. (이때, python이 설치된 디렉터리를 경로가 환경변..
| selenium(셀레늄)이란 selenium은 주로 웹앱을 테스트하는 웹 프레임워크입니다. 또한 webdriver의 API를 통해 브라우저를 제어하기 때문에 자바스크립트에 의해 동적으로 생성되는 사이트의 데이터를 크롤링할 때 매우 유용하게 사용되는 스크래핑 도구입니다. | selenium 사용법 selenium은 크롬이나 파이어폭스같은 각 브라우져의 webdriver API를 통해 브라우져를 제어합니다. 따라서 자신이 쓰고자 하는 브라우져의 driver를 다운로드받아서 Java나 C#, Python 같은 프로그래밍 언어를 통해 제어하는 것이 일반적입니다. 여기서는 크롬을 기준으로 사용법을 설명할 예정입니다. driver를 다운로드 받을 수 있는 곳은 아래와 같습니다. 여기서 주의해야 할 점은 크롬 브..
보통 보안 인프라가 갖추어져 있는 회사에는 회사 프록시를 통해 외부 인터넷에 접속할 수 있습니다. 하지만 이게 종종 문제가 되는 게 pip, npm 같은 패키지 매니져를 통해 해당 라이브러리가 제대로 다운로드 되지 않는 문제가 발생합니다...... 그 이유는 보통 그 사이트에서 보내온 인증서가 아닌 회사 인증서가 컴퓨터로 전송되기 때문에 그런데요. 저희 회사도 회사 프록시에 있는 인증서가 와서 제대로 pip, npm 같은 패키지 매니져가 제대로 작동하지 않았습니다ㅠㅠ 이럴 때는 1. 해당 패키지 매니져가 요청하는 호스트[ex) pypi.python.org]에 대한 인증서가 패키지 매니져에 등록되어 있거나 2. 해당 URL을 무조건 신뢰하겠다는 옵션을 설정하거나 3. strict-ssl 설정을 false로..