PYTHON/Web Scraping

1.3 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (2)

  • -

 

지난 게시글
1.1 웹 스크래핑 - 방법 알아보기

1.2 웹 스크래핑 - urlopen과 beautifulsoup4 사용 방법 (1)

 

 

원하는 tag 찾기 : F12(개발자 모드)

특정 홈페이지에서 본인이 찾고자 하는 자료의 위치를 확인해보도록 하자. 본인의 경우에는 [네이버 증권] - [국내 증시] - [Top 종목] 내에 있는 자료를 스크래핑할 예정이다.

[국내 증시] 탭의 하단부에 위치해 있다.

본인이 사용하고자 하는 자료의 위치를 찾았다면 이제 본인이 찾고자 하는 자료가 html 상에서 어떤 태그로 감싸져 있는지 확인해야 하는데, 이는 F12(개발자 모드)에서 어렵지 않게 사용할 수 있다.
※ 크롬과 인터넷 익스플로러 모두 F12(개발자 모드)가 동작하지만, 가시성은 크롬이 훨씬 좋다.

F12를 누르면 오른쪽에 웬 영어만 한가득한 창이 뜰 것인데, 그 창의 왼쪽 상단에 보면 마우스 커서 그림이 하나 있다. 그걸 클릭한 후에 코드 한줄 한줄 마우스를 올려보면 개발자 모드에서 해당 코드가 어떤 자료들을 나타내고 있는지 알려준다. 그렇게 코드 하나 하나를 더블클릭 해가면서, 내가 사용하고자 하는 자료가 어느 위치에 있는지를 확인하면 된다.

<div id="wrap">에 마우스 커서를 올리니 오른쪽 사진과 같이 모든 화면이 색칠되었다.

 

그렇게 하나하나 눌러보다 보면, <div class="box_type_l"> 태그에 마우스를 올렸을 때 사용하고자 하는 [Top 종목] 자료의 위치가 활성화된다는 걸 확인할 수 있다.

 

 

tag 자료 불러오기

이제 사용하고자 하는 자료의 태그가 <div class="box_type_l">이라는 것을 확인했으니, 코드 내에서 이 태그 안에 있는 자료들을 불러오도록 하자.   aa  라는 변수 안에   bsObj.select_one('div.box_type_l")  을 저장한 후,   print(aa)  문을 통해 aa라는 변수 안에 입력된 값을 불러오는 것이다. 

from urllib.request import urlopen
from bs4 import BeautifulSoup as bs

html = urlopen('https://finance.naver.com/sise')
bsObj = bs(html, "html.parser")
aa = bsObj.select_one('div.box_type_l')
print(aa)


>>>
<div class="box_type_l">
<h3 class="top_tlt"><em>Top</em>종목</h3>
<div class="tab_style_1" id="siselist_title_tab_0">
<div class="tab_smeun choice"><div class="choice_lt"></div>상한가</div>
<div class="tab_smeun"><a href="javascript:main_tab('siselist', 1, 8)" onclick="clickcr(this, 'bqu.3', '', '', event)">하한가</a></div>
<div class="tab_smeun"><a href="javascript:main_tab('siselist', 2, 8)" onclick="clickcr(this, 'bqu.5', '', '', event)">상승</a></div>
<div class="tab_smeun"><a href="javascript:main_tab('siselist', 3, 8)" onclick="clickcr(this, 'bqu.7', '', '', event)">보합</a></div>
(이하생략)

결과(>>> 하단)를 보면,   <div class="box_type_l">  이라는 내용과 함께 그 안에 있는 자료들이 한꺼번에 나타나는 것을 확인할 수 있다. 

 

 


728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.