일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- office
- 문자열
- git
- 오피스
- matlab
- 엑셀
- 윈도우11
- VBA
- Windows11
- 아웃룩
- 안드로이드
- 윈도우10
- 파워포인트
- python3
- Excel
- windows
- Outlook
- 비주얼베이직
- Android
- Windows10
- pyqt5
- pythongui
- html
- 파이썬3
- 깃
- 파이썬
- 파이썬GUI
- python
- pandas
- win32com
Appia의 IT세상
파이썬[Python] 주식시장 휴장일 정보 크롤링하기(증권 거래소) 본문
파이썬[Python] 주식시장 휴장일 정보 크롤링하기(증권 거래소)
이번에는 주식 관련된 공부를 하면서, 휴장일에 대해서 사전에 확인할 수 있다면 얼마나 좋을까라는 생각을 해봤습니다. 그래서 관련된 정보를 찾다보니, 생각보다 많았습니다. 저 또한 관련된 포스팅을 제 블로그에 포스팅을 한적이 있습니다.
그래서 이번에는 관련해서 크롤링을 해볼까 합니다. 실제 이 부분을 적용하는데, 약간의 문제사항이 있었습니다. 처음에는 뷰티풀숩(beautifulsoup)을 이용하여 해볼까 하였습니다. 하지만, 이 부분들을 생각보다 쉽사리 되지 않았습니다. 그래서 이번에는 셀레늄(Selenium)을 이용하여 크롤링을 하게 되었습니다. 따라서, 이번 포스팅은 기본적으로 셀레늄(selenium)모듈이 설치되어야 하고, 관련해서 크롬 웹드라이버가 설치가 사전에 필요합니다. 혹, 설치가 안된 분들은 관련해서 다음 링크를 통해서 설치해주시길 바랍니다.
파이썬[Python] 고급 크롤링을 위한 selenium 모듈 설치하기
먼저, 위의 링크에서도 본 바와 같이 증권거래소의 홈페이지에서의 다음 부분을 통해서 크롤링을 진행할 것입니다.
먼저 날짜 부분을 어떻게 HTML로 명시되어 있는지 살펴보겠습니다. (상기 링크 참조)
그럼 HTML부분에서 각 부분을 크롤링하기 위해서 [copy selector]를 이용하여 해당 부분을 css selector로 어떻게 표시 되는지 살펴보겠습니다.
그럼 위에서 복사한 부분을 보면 다음과 같습니다.
'#pagec4ca4238a0b923820dcc509a6f75849b > div:nth-child(2) > div.CI-GRID-WRAPPER > div.CI-GRID-MAIN-WRAPPER > div.CI-GRID-BODY-WRAPPER > div > div > table > tbody > tr:nth-child(1) > td:nth-child(1)'
여기에서 필요한 부분들로 css selctor를 구성해보도록 하겠습니다.
'div:nth-child(2) > div.CI-GRID-WRAPPER > div.CI-GRID-MAIN-WRAPPER > div.CI-GRID-BODY-WRAPPER > div > div > table > tbody > tr'
그럼 이 부분을 이용하여 다음과 같이 코드 작성을 해보도록 하겠습니다.
from selenium import webdriver
addr = "http://open.krx.co.kr/contents/MKD/01/0110/01100305/MKD01100305.jsp"
chromedriver = r'C:\dev_python\Webdriver\chromedriver.exe'
driver = webdriver.Chrome(chromedriver)
driver.get(addr)
time.sleep(10)
holiday = []
data = driver.find_elements_by_css_selector('div:nth-child(2) > div.CI-GRID-WRAPPER > div.CI-GRID-MAIN-WRAPPER > div.CI-GRID-BODY-WRAPPER > div > div > table > tbody > tr')
for item in data :
print(item.text.split(' ')[0])
위의 부분을 출력하면 다음과 같은 결과가 나타납니다.
2021-01-01
2021-02-11
2021-02-12
2021-03-01
2021-05-05
2021-05-19
2021-08-16
2021-09-20
2021-09-21
2021-09-22
2021-10-04
2021-10-11
2021-12-31
이와 같은 방법으로 휴장일만 출력을 할 수 있습니다.
[윈도우10 Windows10] 크롬(Chrome)에서 웹페이지 항목 CSS Selector로 확인하기
이번 포스팅에서는 파이썬[Python] 주식시장 휴장일 정보 크롤링하기(증권 거래소)라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python Crawler[크롤러]' 카테고리의 다른 글
파이썬[Python] selenium의 WebDriver를 이용한 크롬(Chrome)버전 확인하기 (0) | 2023.01.03 |
---|---|
파이썬[Python] 주식시장 거래정지 항목 크롤링하기 (0) | 2021.11.22 |
[파이썬 크롤링]매경, 매일경제 조회수 상위종목 출력하기 (1) | 2021.10.19 |
[파이썬 크롤링]네이버 뉴스 검색결과 출력하기 (1) | 2021.10.17 |
[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 주식번호 확인하기 (0) | 2021.10.15 |