본문 바로가기

파이썬으로 퀀트 프로그램 만들기 project48

웹 크롤링 실습_1 - GET, POST 크롤링 혹은 스크랩핑이란 웹 사이트에서 원하는 정보를 수집하는 기술을 뜻합니다. 크롤링을 할때의 주의사항이 있습니다. #주의사항 · 특정 웹사이트의 페이지를 쉬지 않고 크롤링 하는 행위를 무한 크롤링이라고 합니다. · 무한 크롤링은 해당 웹사이트의 자원을 독점하게 되어 타인의 사용을 막게 되며 웹사이트에 부하를 줍니다. · 일부 웹사이트에서는 동일한 ip로 쉬지 않고 크롤링을 할 경우 접속을 막아버리는 경우도 있습니다. · 따라서 하나의 페이지를 크롤링한 후 1~2초 가량 정지하고 다시 다음 페이지를 크롤링하는 것이 좋습니다. · 신문기사나 책, 논문, 사진 등 저작권이 있는 자료를 통해 부당이득을 얻는다는 등의 행위를 할 경우 법적 제재를 받을 수 있습니다. #GET 서버에 데이터를 요청하는 형태는 매.. 2023. 9. 4.
Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_2 sql에서 upsert 사용방법 insert into @table (arg1, arg2, arg3) values (@arg1, @arg2, @arg3) on duplicate key update (key를 제외한 update할 칼럼) arg2 = @arg2, arg3 = @arg3 파이썬으로 upsert하는 방법을 보여주기 전에 MySQL에서 upsert를 먼저 보여드리겠습니다. 사용 예시를 보여주기 위해 exam db에 price테이블을 만든 후 데이터를 입력해보겠습니다. use exam; create table price_2( 날짜 varchar(10), 티커 varchar(6), 종가 int, 거래량 int, primary key(날짜, 티커) ); insert into price_2 (날짜, 티커.. 2023. 8. 25.
Python, MySQL - 시계열 데이터 처리를 위한 upsert 알아보기_1 to_sql() 함수를 이용해 시계열 데이터를 SQL에 저장할 경우 발생하는 문제와 upsert 기능을 사용하는 방법에 대해 설명해보겠습니다, 1. insert :시간이 지남에 따라 데이터가 추가됨 2. update :간혹 과거 데이터가 수정됨 입력하고자 하는 데이터가 기존 테이블에 값이 있는 경우 새로운 데이터로 업데이트하고 값이 없는 경우에는 새로운 데이터를 추가하는 기능을 mysql에서는 'upsert'라고 부릅니다. 이제 시계열 데이터를 데이터베이스에 추가하는 예제를 살펴보겠습니다. #1. 필요한 라이브러리 불러오기 import pandas as pd from sqlalchemy import create_engine from sqlalchemy_utils import create_database .. 2023. 8. 24.
pandas로 파이썬에 SQL사용하기 - 데이터 프레임을 SQL DB에 저장 데이터 프레임 형태의 데이터를 sql db에 저장하는 방법을 배워봅시다. 1. 예시 데이터 불러오기 저는 seaborn에서 제공하는 iris데이터 프레임을 가져와서 사용하겠습니다. 이것은 임의의 데이터 이므로 여러분은 원하시는 데이터 프레임을 사용하시면 되겠습니다. import seaborn as sns iris = sns.load_dataset('iris') 2. create engine # engine = create_engine('mysql+pymysql://[사용자명]:[비밀번호]@[호스트:포트]/[사용할 데이터베이스]') engine = create_engine('mysql+pymysql://root:1234@127.0.0.1:3306/nameofdb') 3. 데이터를 sql db에 저장 iri.. 2023. 8. 24.
pandas로 파이썬에 SQL사용하기 - DB에 접속하여 데이터 불러오기 pymysql로 sql의 테이블을 불러오면 튜플 형태로 불러와집니다. 이것은 작업하기 편한 데이터프레임이 아닙니다. pandas를 통해 쉽게 sql 테이블 데이터를 불러오는 방법을 배워봅시다. 1. 필요한 라이브러리 불러오기 import pandas as pd from sqlalchemy import create_engine pandas에서 sql 연결할 때는 SQLalchemy ORM(Object Relational Mapping)을 사용함 ORM이란 어플리케이션과 데이터베이스를 연결할 때 SQL 언어가 아닌 어플리케이션 개발 언어로 데이터베이스를 접근할 수 있게 해주는 툴을 뜻합니다. 파이썬 코드를 SQL 쿼리로 자동 변환하여 SQL 쿼리를 따로 작성할 필요 없이 파이썬 코드를 작성하는 것만으로 데이.. 2023. 8. 24.
파이썬에서 SQL(pymysql) - data 입력, 수정, 삭제 1. 라이브러리 불러오기 import pymysql 2. 연결에 필요한 정보 입력하여 연결하기 con = pymysql.connect( user = 'root', #사용자명 password = '1234', #비밀번호 host = '127.0.0.1', #허용 접속 ip, 일반적으로 localhost는 127.0.0.1 db = 'nameofdb', #사용할 데이터베이스 charset = 'utf8' #인코딩방법 ) 3. 데이터베이스 커서 객체 가져오기 mycursor = con.cursor() # 데이터 베이스에서 특정 행을 가르키는 커서 객체를 불러옴 4. 작업할 쿼리 실행하기 query = """ insert into nameoftable (col_1, col_2, col_3) values ('00.. 2023. 8. 21.