AUTO TRADE
좌측 카테고리를 눌러서 주제를 선택하시기 바랍니다.
-
지난 게시글 1.1 웹 스크래핑 - 방법 알아보기 1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1) 1.3 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (2) requests 라이브러리 사용해보기 지난 게시글에서는 urlopen을 사용해 특정 주소의 html 값을 가져왔다. 다만 이 기능은 requests를 통해서도 동일하게 진행할 수 있다. urlopen과 달라보이지만 다를 것도 없는 것이 url을 따로 입력해주어도 되고, urlopen을 사용할때와 마찬가지로 get() 안에 링크를 직접 입력해주어도 된다. from bs4 import BeautifulSoup as bs import requests url = 'https://finance.na..
1.4 웹 스크래핑 - requests 라이브러리도 사용해보기(1)지난 게시글 1.1 웹 스크래핑 - 방법 알아보기 1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1) 1.3 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (2) requests 라이브러리 사용해보기 지난 게시글에서는 urlopen을 사용해 특정 주소의 html 값을 가져왔다. 다만 이 기능은 requests를 통해서도 동일하게 진행할 수 있다. urlopen과 달라보이지만 다를 것도 없는 것이 url을 따로 입력해주어도 되고, urlopen을 사용할때와 마찬가지로 get() 안에 링크를 직접 입력해주어도 된다. from bs4 import BeautifulSoup as bs import requests url = 'https://finance.na..
2021.12.22 -
지난 게시글 1.1 웹 스크래핑 - 방법 알아보기 1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1) 원하는 tag 찾기 : F12(개발자 모드) 특정 홈페이지에서 본인이 찾고자 하는 자료의 위치를 확인해보도록 하자. 본인의 경우에는 [네이버 증권] - [국내 증시] - [Top 종목] 내에 있는 자료를 스크래핑할 예정이다. 본인이 사용하고자 하는 자료의 위치를 찾았다면 이제 본인이 찾고자 하는 자료가 html 상에서 어떤 태그로 감싸져 있는지 확인해야 하는데, 이는 F12(개발자 모드)에서 어렵지 않게 사용할 수 있다. ※ 크롬과 인터넷 익스플로러 모두 F12(개발자 모드)가 동작하지만, 가시성은 크롬이 훨씬 좋다. F12를 누르면 오른쪽에 웬 영어만 한가득한 창이 뜰 ..
1.3 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (2)지난 게시글 1.1 웹 스크래핑 - 방법 알아보기 1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1) 원하는 tag 찾기 : F12(개발자 모드) 특정 홈페이지에서 본인이 찾고자 하는 자료의 위치를 확인해보도록 하자. 본인의 경우에는 [네이버 증권] - [국내 증시] - [Top 종목] 내에 있는 자료를 스크래핑할 예정이다. 본인이 사용하고자 하는 자료의 위치를 찾았다면 이제 본인이 찾고자 하는 자료가 html 상에서 어떤 태그로 감싸져 있는지 확인해야 하는데, 이는 F12(개발자 모드)에서 어렵지 않게 사용할 수 있다. ※ 크롬과 인터넷 익스플로러 모두 F12(개발자 모드)가 동작하지만, 가시성은 크롬이 훨씬 좋다. F12를 누르면 오른쪽에 웬 영어만 한가득한 창이 뜰 ..
2021.12.22 -
지난 게시글 2021.12.20 - [PYTHON/Web Scraping] - 1.1 웹 스크래핑 - 방법 알아보기 pip install 여느 라이브러리와 같이, urlopen과 beautifulsoup4도 설치를 해주어야 사용할 수 있다. 물론 명령 프롬프트(prompt)를 통해 설치해도 되긴 하지만, 파이참 등과 같은 프로그램을 사용하는 경우라면 각 프로그램에서 제공하는 터미널(Terminal) 내에서 pip install을 통해 라이브러리를 설치해주자. ※ beautifulsoup4는 pip install bs4라고 입력해야 설치된다. pip install urlopen bs4 from A imprt B as C 설치되었다면 이제 import를 해서 라이브러리를 사용해보자. from urllib.r..
1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1)지난 게시글 2021.12.20 - [PYTHON/Web Scraping] - 1.1 웹 스크래핑 - 방법 알아보기 pip install 여느 라이브러리와 같이, urlopen과 beautifulsoup4도 설치를 해주어야 사용할 수 있다. 물론 명령 프롬프트(prompt)를 통해 설치해도 되긴 하지만, 파이참 등과 같은 프로그램을 사용하는 경우라면 각 프로그램에서 제공하는 터미널(Terminal) 내에서 pip install을 통해 라이브러리를 설치해주자. ※ beautifulsoup4는 pip install bs4라고 입력해야 설치된다. pip install urlopen bs4 from A imprt B as C 설치되었다면 이제 import를 해서 라이브러리를 사용해보자. from urllib.r..
2021.12.20 -
웹 스크래핑은 기본적으로 html 형태로 입력되어 있는 홈페이지 정보를 각 태그 안에 있는 정보들을 가져오는 것이다. html이니 태그니 하는 용어들이 등장하는데, 크게 어려울 것 없다. html은 또는 , 라던가 하는 것들이 모여서 홈페이지를 구성하는 것이고, 여기서의 나 , 가 바로 html의 태그에 해당한다. 따라서 특정 홈페이지 주소의 html 구조를 불러온 후에, 그 값 안에서 각각의 태그 안에 저장되어 있는 값들만 추출하는 것을 웹 스크래핑이라고 보면 된다. 여기서 html 구조 전체를 불러오는 작업은 urlopen 라이브러리(또는 request 라이브러리)를 통해, html 내의 태그를 불러오는 작업은 beautifulsoup4 라이브러리를 통해 진행할 예정이다.
1.1 웹 스크래핑 - 방법 알아보기웹 스크래핑은 기본적으로 html 형태로 입력되어 있는 홈페이지 정보를 각 태그 안에 있는 정보들을 가져오는 것이다. html이니 태그니 하는 용어들이 등장하는데, 크게 어려울 것 없다. html은 또는 , 라던가 하는 것들이 모여서 홈페이지를 구성하는 것이고, 여기서의 나 , 가 바로 html의 태그에 해당한다. 따라서 특정 홈페이지 주소의 html 구조를 불러온 후에, 그 값 안에서 각각의 태그 안에 저장되어 있는 값들만 추출하는 것을 웹 스크래핑이라고 보면 된다. 여기서 html 구조 전체를 불러오는 작업은 urlopen 라이브러리(또는 request 라이브러리)를 통해, html 내의 태그를 불러오는 작업은 beautifulsoup4 라이브러리를 통해 진행할 예정이다.
2021.12.20 -
결론부터 말하자면, 현재 키움증권 Open API 내에서는 관심종목을 불러오는 코드를 지원하지 않고 있다. 개발가이드 상에서는 CommKwRqData 함수를 통해 '주식 관심종목정보'를 불러올 수 있다고 하지만, 여기서 이야기하는 관심종목은 영웅문 내에서 이용하는 '관심종목'과는 전혀 다른 것이다. 해당 코드의 동작 결과를 사전에 확인할 수 있는 KOS Studio를 통해 CommKwRqData를 실행해봐도 그 결과값으로 관심종목 내에 있는 종목 코드를 반환하는 것이 아니라 그냥 그 종목에 대한 정보만을 반환하고 있다. CommKwRqData("종목코드", "연속조회여부", "조회종목개수", "0", "RQName", "화면번호"); CommKwRqData("03940;023590", "연속조회여부", ..
키움증권 Open API 관심종목 불러오기(불가능)결론부터 말하자면, 현재 키움증권 Open API 내에서는 관심종목을 불러오는 코드를 지원하지 않고 있다. 개발가이드 상에서는 CommKwRqData 함수를 통해 '주식 관심종목정보'를 불러올 수 있다고 하지만, 여기서 이야기하는 관심종목은 영웅문 내에서 이용하는 '관심종목'과는 전혀 다른 것이다. 해당 코드의 동작 결과를 사전에 확인할 수 있는 KOS Studio를 통해 CommKwRqData를 실행해봐도 그 결과값으로 관심종목 내에 있는 종목 코드를 반환하는 것이 아니라 그냥 그 종목에 대한 정보만을 반환하고 있다. CommKwRqData("종목코드", "연속조회여부", "조회종목개수", "0", "RQName", "화면번호"); CommKwRqData("03940;023590", "연속조회여부", ..
2021.12.20 -
파이썬 내에서 for문을 통해 변수 생성하기어떤 변수를 생성하는 과정에 있어 반복적인 작업을 통해 변수를 생성하는 방법은 `globals()`를 통해 설정할 수 있다. 이 globals()의 형식은 `globals()['변수명'.format(변수 이름마다 부여할 값)] = 변수에 입력할 값`의 형태로 사용한다. 백문이불여일견아주 간단한 코드를 짜보면 아래와 같이 제작할 수 있다. for문을 통해 i를 0부터 9까지 반복하도록 설정한 후, `globals` 뒤에 있는 s{}에 형식(`format`)을 i로 설정한 후 그 변수에 i를 입력하는 것이다. 이 결과물은 >>> 하단과 동일하다. 곧, `format()`의 안에 들어가는 값은 곧 변수로 설정되고 등식(=) 뒤에 있는 값은 변수에 입력할 값이 되는..
for 문으로 변수 여러 개 생성하고 사용하기 / globals()파이썬 내에서 for문을 통해 변수 생성하기어떤 변수를 생성하는 과정에 있어 반복적인 작업을 통해 변수를 생성하는 방법은 `globals()`를 통해 설정할 수 있다. 이 globals()의 형식은 `globals()['변수명'.format(변수 이름마다 부여할 값)] = 변수에 입력할 값`의 형태로 사용한다. 백문이불여일견아주 간단한 코드를 짜보면 아래와 같이 제작할 수 있다. for문을 통해 i를 0부터 9까지 반복하도록 설정한 후, `globals` 뒤에 있는 s{}에 형식(`format`)을 i로 설정한 후 그 변수에 i를 입력하는 것이다. 이 결과물은 >>> 하단과 동일하다. 곧, `format()`의 안에 들어가는 값은 곧 변수로 설정되고 등식(=) 뒤에 있는 값은 변수에 입력할 값이 되는..
2021.12.11 -
하나의 py 파일에서 qt designer를 통해 만든 파일(확장자 ui)을 form_class 와 class XXX(form_class) 를 통해 파일을 연 후에, 또 다른 py 파일에서 그와 동일한 ui 파일을 그대로 사용하고 싶은 경우에는 어떻게 해야 할까? 동작 도식도 그 방법은 의외로 단순하고 간단하다. 사전 이해 gui file 내에는 아래와 같은 화면으로 구성되어 있다. 다만 lineEdit 은 boss.py에서 사용할 것이고, 여기에 1이라는 값이 입력되면 algorithm_1.py 파일이 실행되며 algorithm_1.py 파일 내에서는 lineEdit_2 와 lineEdit_3 에 입력된 값을 받아와서 코드를 실행할 것이다. 클래스 상속 boss.py 파일 내에서 lineEdit 을 사..
하나의 gui를 두 개의 파일에서 동시에 사용하기하나의 py 파일에서 qt designer를 통해 만든 파일(확장자 ui)을 form_class 와 class XXX(form_class) 를 통해 파일을 연 후에, 또 다른 py 파일에서 그와 동일한 ui 파일을 그대로 사용하고 싶은 경우에는 어떻게 해야 할까? 동작 도식도 그 방법은 의외로 단순하고 간단하다. 사전 이해 gui file 내에는 아래와 같은 화면으로 구성되어 있다. 다만 lineEdit 은 boss.py에서 사용할 것이고, 여기에 1이라는 값이 입력되면 algorithm_1.py 파일이 실행되며 algorithm_1.py 파일 내에서는 lineEdit_2 와 lineEdit_3 에 입력된 값을 받아와서 코드를 실행할 것이다. 클래스 상속 boss.py 파일 내에서 lineEdit 을 사..
2021.12.10 -
PyInstaller 설치하기 윈도우 상에서 제공되는 명령 프롬프트(cmd)에서 입력해도 되긴 하지만, 파이참이나 비쥬얼 스튜디오 코드 등의 프로그램을 이용하는 경우에는 해당 프로그램 내에서 제공하는 콘솔(console)에서 모든 작업을 진행하면 훨씬 쉽다. ※ 여기서의 모든 내용은 프로그램 내 콘솔을 사용한다는 가정 하에 진행 명령어 : pip install pyinstaller exe 파일 생성하기 명령어 : pyinstaller 파일이름.py exe 파일 실행해보기 파이참 및 비쥬얼스튜디오 코드 등과 같은 프로그램 상에서 지정된 경로와 동일한 경로 안에 'dict'라는 폴더가 생성되고, 그 안에 실행 파일의 이름으로 폴더가 있으며 그 안에 파일이름.exe 파일이 생성되어 있다. 그 파일을 실행하면 ..
파이썬 exe 파일 생성하기PyInstaller 설치하기 윈도우 상에서 제공되는 명령 프롬프트(cmd)에서 입력해도 되긴 하지만, 파이참이나 비쥬얼 스튜디오 코드 등의 프로그램을 이용하는 경우에는 해당 프로그램 내에서 제공하는 콘솔(console)에서 모든 작업을 진행하면 훨씬 쉽다. ※ 여기서의 모든 내용은 프로그램 내 콘솔을 사용한다는 가정 하에 진행 명령어 : pip install pyinstaller exe 파일 생성하기 명령어 : pyinstaller 파일이름.py exe 파일 실행해보기 파이참 및 비쥬얼스튜디오 코드 등과 같은 프로그램 상에서 지정된 경로와 동일한 경로 안에 'dict'라는 폴더가 생성되고, 그 안에 실행 파일의 이름으로 폴더가 있으며 그 안에 파일이름.exe 파일이 생성되어 있다. 그 파일을 실행하면 ..
2021.12.04 -
파이썬을 이용해 키움증권 Open API와 연결하고자 할 때 발생 Process finished with exit code -1073740791 (0xC0000409) 해결 방법 앱을 실행시키는 코드인 아래의 코드를 추가할 것 app = QApplication(sys.argv) 자세한 내용은 이전에 작성한 포스팅을 참고 키움증권 OpenAPI 실행 및 로그인하기 앞의 포스팅에서는 개발 가이드의 사용 방법에 대해 알아보았고, 이제는 본격적으로 파이썬을 바탕으로 해서 키움증권의 Open API와 연결한 후에 여러 가지 동작을 실행하는 코드를 제작해보고자 trustyou.tistory.com
Process finished with exit code -1073740791 (0xC0000409)파이썬을 이용해 키움증권 Open API와 연결하고자 할 때 발생 Process finished with exit code -1073740791 (0xC0000409) 해결 방법 앱을 실행시키는 코드인 아래의 코드를 추가할 것 app = QApplication(sys.argv) 자세한 내용은 이전에 작성한 포스팅을 참고 키움증권 OpenAPI 실행 및 로그인하기 앞의 포스팅에서는 개발 가이드의 사용 방법에 대해 알아보았고, 이제는 본격적으로 파이썬을 바탕으로 해서 키움증권의 Open API와 연결한 후에 여러 가지 동작을 실행하는 코드를 제작해보고자 trustyou.tistory.com
2021.11.23 -
파이참 실행 중 발생한 오류 전문 Traceback (most recent call last): File "C:\anaconda\envs\py36\lib\site-packages\mysql\connector\cursor.py", line 569, in execute self._handle_result(self._connection.cmd_query(stmt)) File "C:\anaconda\envs\py36\lib\site-packages\mysql\connector\connection.py", line 590, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) File "C:\anaconda\envs\py..
mysql.connector.errors.DatabaseError: 3678 (HY000)파이참 실행 중 발생한 오류 전문 Traceback (most recent call last): File "C:\anaconda\envs\py36\lib\site-packages\mysql\connector\cursor.py", line 569, in execute self._handle_result(self._connection.cmd_query(stmt)) File "C:\anaconda\envs\py36\lib\site-packages\mysql\connector\connection.py", line 590, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) File "C:\anaconda\envs\py..
2021.11.23 -
파이썬을 통해 자동화 프로그램을 실행하고 싶은 경우에는 배치파일을 생성함으로써 이를 작업 스케쥴러에 등록함으로써 실행할 수 있다. 이번 포스팅에서는 배치파일의 생성과 작업 스케쥴러에 해당 작업을 추가하는 방법에 대해 살펴보도록 할 예정이다. 파이썬 파일 생성하기당연한 이야기겠지만, 특정 작업 스케쥴러에 등록된 배치파일이 실행시킬 파이썬 파일을 만들어주어야 한다. 따라서 본인은 festfile이라는 폴더를 생성시킨 후, 해당 폴더 안에 printhw라는 파일명을 가진 파이썬 파일을 생성해주었다. printhw 파일의 코드는 아래와 같다.time 모듈을 임포트한 후에 time 모듈 안에 있는 `ctime()` 함수를 통해 현재 시간을 불러왔고, 이를 split(' ')을 통해 빈칸을 기준으로 문자열로 나누어..
파이썬 배치파일 생성 및 작업 스케줄러 등록파이썬을 통해 자동화 프로그램을 실행하고 싶은 경우에는 배치파일을 생성함으로써 이를 작업 스케쥴러에 등록함으로써 실행할 수 있다. 이번 포스팅에서는 배치파일의 생성과 작업 스케쥴러에 해당 작업을 추가하는 방법에 대해 살펴보도록 할 예정이다. 파이썬 파일 생성하기당연한 이야기겠지만, 특정 작업 스케쥴러에 등록된 배치파일이 실행시킬 파이썬 파일을 만들어주어야 한다. 따라서 본인은 festfile이라는 폴더를 생성시킨 후, 해당 폴더 안에 printhw라는 파일명을 가진 파이썬 파일을 생성해주었다. printhw 파일의 코드는 아래와 같다.time 모듈을 임포트한 후에 time 모듈 안에 있는 `ctime()` 함수를 통해 현재 시간을 불러왔고, 이를 split(' ')을 통해 빈칸을 기준으로 문자열로 나누어..
2021.09.04 -
[오류 코드] TypeError: setText(self, str): argument 1 has unexpected type 'list' [해결 방법] str()을 통해 문자열로 바꾸어주면 입력이 가능하다. self.textEdit_23.setText(valuable) ## 해결 방법 ## self.textEdit_23.setText(str(valuable))
TypeError: setText(self, str): argument 1 has unexpected type 'list'[오류 코드] TypeError: setText(self, str): argument 1 has unexpected type 'list' [해결 방법] str()을 통해 문자열로 바꾸어주면 입력이 가능하다. self.textEdit_23.setText(valuable) ## 해결 방법 ## self.textEdit_23.setText(str(valuable))
2021.07.28