inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기

3.3 강의에서 type(table)이 bs4.element.ResultSet라고 출력이 됩니다.

805

jinhijinhi

작성한 질문수 4

1

삼성전자로 할 때는 잘 되었는데,  "SK바이오팜"으로 바꿔서 하니 type(table)이 bs4.element.ResultSet라고 출력이 됩니다.

그래서 제가 뭐 잘못했나 싶어서, output파일로 해봐도 똑같은데 어떻게 해결할 수 있을까요? ㅜㅜ

웹-크롤링 python numpy pandas matplotlib plotly seaborn 웹 스크래핑

답변 2

0

jinhijinhi

table에 담겨 있는 값은 아래와 같습니다.

저는 jupitor notebook 쓰는데 jupitor notebook에서는 type(table)하면 bs4.element.ResultSet라고 뜹니다.

위에서 첨부해주신 colab에서는 jopitor notebook의 코드 그대로 복사해서 실행하면 type(table)이 list라고 잘 뜹니다.

[<table cellspacing="0" class="type2">
 <tr>
 <th>날짜</th>
 <th>종가</th>
 <th>전일비</th>
 <th>시가</th>
 <th>고가</th>
 <th>저가</th>
 <th>거래량</th>
 </tr>
 <tr>
 <td colspan="7" height="8"></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.20</span></td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num">
 <span class="tah p11">0</span>
 </td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num"><span class="tah p11">0</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.18</span></td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				2,000
 				</span>
 </td>
 <td class="num"><span class="tah p11">112,000</span></td>
 <td class="num"><span class="tah p11">113,000</span></td>
 <td class="num"><span class="tah p11">110,500</span></td>
 <td class="num"><span class="tah p11">223,112</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.17</span></td>
 <td class="num"><span class="tah p11">111,000</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				500
 				</span>
 </td>
 <td class="num"><span class="tah p11">111,500</span></td>
 <td class="num"><span class="tah p11">114,000</span></td>
 <td class="num"><span class="tah p11">110,000</span></td>
 <td class="num"><span class="tah p11">352,455</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.14</span></td>
 <td class="num"><span class="tah p11">110,500</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				2,500
 				</span>
 </td>
 <td class="num"><span class="tah p11">108,500</span></td>
 <td class="num"><span class="tah p11">112,000</span></td>
 <td class="num"><span class="tah p11">108,500</span></td>
 <td class="num"><span class="tah p11">225,513</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.13</span></td>
 <td class="num"><span class="tah p11">108,000</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				500
 				</span>
 </td>
 <td class="num"><span class="tah p11">106,500</span></td>
 <td class="num"><span class="tah p11">109,000</span></td>
 <td class="num"><span class="tah p11">105,000</span></td>
 <td class="num"><span class="tah p11">303,192</span></td>
 </tr>
 <tr>
 <td colspan="7" height="8"></td>
 </tr>
 <tr>
 <td bgcolor="#e1e1e1" colspan="7" height="1"></td>
 </tr>
 <tr>
 <td colspan="7" height="8"></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.12</span></td>
 <td class="num"><span class="tah p11">107,500</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				1,000
 				</span>
 </td>
 <td class="num"><span class="tah p11">108,000</span></td>
 <td class="num"><span class="tah p11">114,500</span></td>
 <td class="num"><span class="tah p11">107,000</span></td>
 <td class="num"><span class="tah p11">860,584</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.11</span></td>
 <td class="num"><span class="tah p11">106,500</span></td>
 <td class="num">
 <img alt="하락" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_down.gif" style="margin-right:4px;" width="7"/><span class="tah p11 nv01">
 				3,000
 				</span>
 </td>
 <td class="num"><span class="tah p11">109,000</span></td>
 <td class="num"><span class="tah p11">109,000</span></td>
 <td class="num"><span class="tah p11">106,000</span></td>
 <td class="num"><span class="tah p11">210,598</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.10</span></td>
 <td class="num"><span class="tah p11">109,500</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				1,500
 				</span>
 </td>
 <td class="num"><span class="tah p11">108,500</span></td>
 <td class="num"><span class="tah p11">110,000</span></td>
 <td class="num"><span class="tah p11">107,500</span></td>
 <td class="num"><span class="tah p11">212,041</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.07</span></td>
 <td class="num"><span class="tah p11">108,000</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				2,000
 				</span>
 </td>
 <td class="num"><span class="tah p11">106,500</span></td>
 <td class="num"><span class="tah p11">108,500</span></td>
 <td class="num"><span class="tah p11">106,000</span></td>
 <td class="num"><span class="tah p11">174,741</span></td>
 </tr>
 <tr onmouseout="mouseOut(this)" onmouseover="mouseOver(this)">
 <td align="center"><span class="tah p10 gray03">2021.05.06</span></td>
 <td class="num"><span class="tah p11">106,000</span></td>
 <td class="num">
 <img alt="상승" height="6" src="https://ssl.pstatic.net/imgstock/images/images4/ico_up.gif" style="margin-right:4px;" width="7"/><span class="tah p11 red02">
 				1,500
 				</span>
 </td>
 <td class="num"><span class="tah p11">104,000</span></td>
 <td class="num"><span class="tah p11">107,500</span></td>
 <td class="num"><span class="tah p11">103,500</span></td>
 <td class="num"><span class="tah p11">264,179</span></td>
 </tr>
 <tr>
 <td colspan="7" height="8"></td>
 </tr>
 </table>,
 <table align="center" class="Nnavi" summary="페이지 네비게이션 리스트">
 <caption>페이지 네비게이션</caption>
 <tr>
 <td class="on">
 <a href="/item/sise_day.nhn?code=326030&amp;page=1">1</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=2">2</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=3">3</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=4">4</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=5">5</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=6">6</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=7">7</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=8">8</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=9">9</a>
 </td>
 <td>
 <a href="/item/sise_day.nhn?code=326030&amp;page=10">10</a>
 </td>
 <td class="pgR">
 <a href="/item/sise_day.nhn?code=326030&amp;page=11">
 				다음<img alt="" border="0" height="5" src="https://ssl.pstatic.net/static/n/cmn/bu_pgarR.gif" width="3"/>
 </a>
 </td>
 <td class="pgRR">
 <a href="/item/sise_day.nhn?code=326030&amp;page=22">맨뒤
 				<img alt="" border="0" height="5" src="https://ssl.pstatic.net/static/n/cmn/bu_pgarRR.gif" width="8"/>
 </a>
 </td>
 </tr>
 </table>]

0

박조은

안녕하세요.

출력된 모습을 보면 데이터를 잘 가져온 것으로 보여집니다.

타입이 다르게 나오는 이유는 뷰티플숩의 버전이나 파이썬 버전에 따라 다르게 출력을 할 수 있습니다.

colab에서는 아래와 같은 버전을 사용하고 있습니다. 아마도 로컬 주피터 노트북은 다른 버전을 사용하고 있으실거에요.

 여기에서 type을 출력해 본 이유는 [] 형태로 감싸져 있기 때문에 타입을 확인해 보고 인덱싱을 해서 값을 가져올 수 있겠다를 보기 위함이었었요.

jinhijinhi 님께서 현재 사용하고 있는 버전의 타입이 좀 더 정확한 타입으로 보여집니다.

그래서 [ ] 로 감싸져 있는 값이라면 인덱싱과 슬라이싱이 가능합니다.

이를 활용해서 데이터를 다루시면 될것 같아요.

참고로 인덱싱은 인덱스 순서번호로 데이터를 가져오는 것이고 (파이썬은 0부터 시작합니다.)

슬라이싱은 데이터를 나눌때 사용합니다. [시작인덱스:끝나는인덱스+1] 로 사용하시면 됩니다.

0

박조은

안녕하세요.

table 에 어떤 값이 들어있는지 확인을 해보세요.

table을 출력했을 때 대괄호로 [] 값이 감싸져 있는지 확인해 보세요.

또, 아래 링크를 통해 해당 실습을 실행해 보실 수 있는데요.

SK바이오팜으로 되어있으니 직접 실행해 보시면서 차이를 비교해 보세요.

또, 직접했을 때 잘 안 되시면 table에 담겨있는 값과 해당 코드 출력 전 실행한 윗부분의 코드 스크린샷을 올려주시면 도움을 드릴게요!

https://colab.research.google.com/github/corazzon/finance-data-analysis/blob/main/3.3%20%EB%84%A4%EC%9D%B4%EB%B2%84%EA%B8%88%EC%9C%B5%20%EA%B0%9C%EB%B3%84%EC%A2%85%EB%AA%A9%20%EC%88%98%EC%A7%91-output.ipynb

cufflinks 버전문제로 iplot() 미실행

0

58

2

[수정요청]직접 수집한 주가 데이터로 시각화해보기

0

70

2

pd.read_html(url, encoding='cp949') 에러

0

95

2

fdr.StockListing('KRX') 문제 발생

0

181

2

주식 자동매매 프로그램 제작 관련 조언 부탁드립니다

0

457

1

concat 을 통한 데이터 프레임 합치기 에러 문의

0

118

2

한글폰트 관련해서 문의드립니다.

0

248

2

데이터프레임 칼럼명 문의 드립니다.

0

250

3

금융데이터 수집의 모든것

0

156

2

녹화시점과 현재시점 컬럼명이 변경이 많이 되었을까요?

0

202

2

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 - 섹션1 [2/2]

0

182

1

Mac 환경에서 nbextensions 활성화 하는 방법

0

607

2

pd.concat(result.tolist()) 오류 문의

0

257

1

5.1 제약 데이터 수집 오류 해결

0

242

1

Table of contents 문의드립니다

0

223

2

concat을 통한 데이터프레임 합치기

0

562

2

Reindexing only valid with uniquely valued Index objects 오류 질문입니다.

0

500

1

데이터 비교시 데이터 불일치

0

420

1

dtype={"itemcode": np.object}) 을 dtype={"itemcode": object}) 으로 변경해야 하나요?

0

608

1

질문 : for문 풀어쓰기

0

502

1

파이참에서 Plotly 그래프 실행방법

0

1323

1

5.1 데이터프레임 병합(merge)

0

753

2

쥬피터노트북에서 실행파일 만들기

0

1461

1

주피터노트북 확장팩 설치가 안됩니다.

0

573

2