웹페이지 크롤링 (requests.get,beautifulsoup사용) 예제[exam4_crawl] > [파이썬]기초실습예제

본문 바로가기
사이트 내 전체검색

[파이썬]기초실습예제

게시판 상단

웹페이지 크롤링 (requests.get,beautifulsoup사용) 예제[exam4_crawl]

페이지 정보

작성자 관리자 댓글 0건 조회 369회 작성일 21-07-27 21:01

본문

네이버 주식시세페이지에서 삼성전자의 일자별 종가를 가져오는 예제

 

실행화면


962b91e686edc9cafcb7c4db55fe6b5e_1627387212_1335.JPG


코드설명

import requests
from bs4 import BeautifulSoup

#네이버 주식정보사이트에서 삼성전자종목의 일자별 종가를 크롤링하는 예제
#웹크롤링 샘플링크 https://finance.naver.com/item/sise_day.nhn?code=005930&page=1
#
날짜,종가,전일비,시가,고가,저가,거래량 중에서 날짜와 종가만 가져옴

#배열의 값을 담을수있는 리스트 변수를 선언함
ls_contents2 = []

ls_code2 =
'005930'
print(ls_code2)

li_page =
5
for i in range(li_page):  #보통 for문에서는 i,j,k 이런변수를 사용함, i 0-4
   
ls_address = "https://finance.naver.com/item/sise_day.nhn?code="+str(ls_code2)+"&page="+str(i+1)
   
#print(ls_address)
   
ls_req = requests.get(ls_address, headers={'User-agent': 'Mozilla/5.0'}) #header부분을 적지 않으면 페이지를 못가져옴
   
ls_html = ls_req.content
   
#print(ls_html)
   
ls_soup = BeautifulSoup(ls_html, "html.parser"# 이 부분에서실제 html소스코드 형태의 값을 가져온다.
   
tr = ls_soup.select('table > tr') #table태그의 자식태그 tr을 가져옴
   
#print(ls_soup)
    #print(tr) tr
에는 웹페이지 한페이지안에 있는 tr 태크들이 들어있음
   
print(len(tr))
   
#len(tr)은 총17개 정도가 나오지만 타이틀행인 1행제외 ,2-11행 사용, 그뒤에 행은 제외
   
for j in range(1, len(tr)-1):
       
#print(tr[j].select('td')[0].text.strip())
       
if tr[j].select('td')[0].text.strip():  #td안에서 텍스트만 가져옴, tr태그중에는 td에 값이 없는 것들은 츨력을 안함
           
ls_contents2.append(tr[j].select('td')[0].text.strip())  #날짜
           
ls_contents2.append(tr[j].select('td')[1].text.strip())  #종가

print(ls_contents2)  #일자와 종가를 가져옴

 


 

첨부파일

댓글목록

등록된 댓글이 없습니다.

게시판 하단

회원로그인

접속자집계

오늘
5
어제
13
최대
221
전체
17,041

그누보드5
Copyright © 소유하신 도메인. All rights reserved.