일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Windows10
- pythongui
- 비주얼베이직
- html
- Outlook
- windows
- 파워포인트
- pyqt5
- Windows11
- git
- python
- 윈도우11
- office
- 파이썬GUI
- Android
- 아웃룩
- 오피스
- matlab
- pandas
- 파이썬3
- python3
- 문자열
- 안드로이드
- 엑셀
- VBA
- 깃
- win32com
- 파이썬
- 윈도우10
- Excel
Appia의 IT세상
[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 주식번호 확인하기 본문
[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 주식번호 확인하기
이전 포스팅에서는 네이버 시가 총액을 바탕으로, 종목 이름과 종가를 확인하는 방법에 대해서 포스팅을 했습니다. 하지만, 이 부분들에 대해서 Html을 자세히 보다보니, 관련해서 각 종목의 주식 번호가 있다는 것을 확인할 수 있었습니다. 그래서 이번 포스팅에서는 이 부분을 바탕으로 주식 종목의 주식 번호을 추출하는 방법에 대해서 이야기를 해보도록 하겠습니다.
먼저, 다음 링크를 바탕으로 관련된 항목을 진행해보도록 하겠습니다.
https://finance.naver.com/sise/sise_market_sum.naver
여기에서 개발자 모드를 통해서 다음 부분을 확인하도록 하겠습니다. 각 부분을 검토해보면, 종목 이름이 나타나는데에 다음과 같은 부분이 나타나는 것을 알 수 있습니다.
<a href="/item/main.naver?code=005930" class="tltle">삼성전자</a>
여기에서 code=005930이라는 부분이 각 종목에 대한 주식 종목에 대한 번호라는 것을 알 수 있습니다.
그럼 이전 포스팅의 코딩에서 위의 부분을 바탕으로 활용할 수 있는 방법을 검토해보겠습니다. 다음 부분은 이전 포스팅에서 활용한 코드입니다.
[파이썬 크롤링]네이버 주식 시가 총액 코스피전체 항목 출력하기
from bs4 import BeautifulSoup
def return_value(address):
res = requests.get(address)
soup = BeautifulSoup(res.content, 'html.parser')
items = soup.select('#contentarea > div.box_type_l > table.type_2 > tbody > tr')
for item in items:
try :
if item['onmouseover'] == 'mouseOver(this)':
print(item.select('td')[0].text +"\t" + item.select('td')[1].text+"\t"+ item.select('td')[2].text)
except :
continue
baseaddress = 'https://finance.naver.com/sise/sise_market_sum.naver?&page='
for i in range(1,35):
return_value(baseaddress+str(i))
그럼 위의 부분을 활용하기 위해서는 일단, 디버그 모드로 다음 부분 검토해보겠습니다.
item.select('td>a')[0]
그럼 여기에서 href속성을 결과물을 나누어 볼 수 있습니다.
rawno = item.select('td>a')[0]['href'].split('=')
그럼 전체 이 부분을 바탕으로 전체 코드를 나열해보도록 하겠습니다.
import requests
from bs4 import BeautifulSoup
def return_value(address):
res = requests.get(address)
soup = BeautifulSoup(res.content, 'html.parser')
items = soup.select('#contentarea > div.box_type_l > table.type_2 > tbody > tr')
for item in items:
try :
if item['onmouseover'] == 'mouseOver(this)':
rawno = item.select('td>a')[0]['href'].split('=')
print(rawno[1]+'\t'+item.select('td')[0].text +"\t" + item.select('td')[1].text+"\t"+ item.select('td')[2].text)
except :
continue
baseaddress = 'https://finance.naver.com/sise/sise_market_sum.naver?&page='
for i in range(1,35):
return_value(baseaddress+str(i))
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
005930 1 삼성전자 71,500
000660 2 SK하이닉스 94,000
035420 3 NAVER 388,500
207940 4 삼성바이오로직스 830,000
005935 5 삼성전자우 66,300
051910 6 LG화학 764,000
035720 7 카카오 117,500
006400 8 삼성SDI 686,000
005380 9 현대차 205,000
000270 10 기아 81,900
<... 중간생략 ...>
278420 1661 ARIRANG ESG우수기업 9,615
217770 1662 TIGER 원유선물인버스(H) 5,180
550043 1663 QV 인버스 레버리지 WTI원유 선물 ETN(H) 350
267500 1664 KBSTAR 미국장기국채선물인버스2X(합성 H) 6,035
510006 1665 대신 인버스 니켈선물 ETN(H) 4,715
001529 1666 동양3우B 35,500
334700 1667 KBSTAR 팔라듐선물인버스(H) 5,695
301400 1668 ARIRANG 코스닥150 13,905
397420 1669 KBSTAR 국채선물5년추종 49,075
이와 같이 가장 앞에 각 종목의 주식 번호가 출력이 됩니다. 이와 같은 방법으로 각 종목에 대한 종목 번호를 추출할 수 있습니다.
Python[파이썬 주식] 국내 코스피, 코스닥 상장 회사 리스트 출력, CSV로 추출- pykrx
이번 포스팅에서는 [파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 주식번호 확인하기라는 주제로 포스팅을 해봤습니다. 실제 이 부분에 대해서는 보다 쉽게 추출할 수 있는 방법은 다양하게 존재합니다. 하지만, 크롤링 공부를 하면서 살펴보기에는 도움이 될 것으로 판단됩니다. 혹 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python Crawler[크롤러]' 카테고리의 다른 글
[파이썬 크롤링]매경, 매일경제 조회수 상위종목 출력하기 (1) | 2021.10.19 |
---|---|
[파이썬 크롤링]네이버 뉴스 검색결과 출력하기 (1) | 2021.10.17 |
파이썬[Python] 원하는 텍스트의 네이버 통합 검색 결과 제목 출력하기 (0) | 2021.10.11 |
[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법 (2) | 2021.10.07 |
[파이썬 크롤링] Beautiful Soup에서 #document 부분에 대해서 크롤링 하는 방법 (4) | 2021.10.06 |