본문 바로가기
programming/python-sample

python3 - Crawler (Naver 검색 상위종목 추출)

by sniffer-k 2023. 6. 1.

네이버 증권 페이지에서 실시간 인기순위 종목 리스트는 다음 링크에서 확인할수 있다

 

https://finance.naver.com/sise/lastsearch2.naver

 

네이버 증권

국내 해외 증시 지수, 시장지표, 뉴스, 증권사 리서치 등 제공

finance.naver.com

 

해당 페이지를 개발자 도구 (브라우저 F12 )에서 다음과 같이 확인할수 있다

 

검색어 상위종목 랭킹 페이지 구조 확인

 

랭킹 페이지 상위 클랙스 객체는 class = "type_5"

 

하위 표 페이블은 <td> ~ 로 나열되어있다 샘플 코드는 다음과 같다

 

print(sys.getdefaultencoding())

url  = f'https://finance.naver.com/sise/lastsearch2.naver'

#get : request로 url의  html문서의 내용 요청
html = requests.get(url)
soup1 = BeautifulSoup(html.content,'html.parser')

for sub_tr in soup1.find('table',class_='type_5').find_all('tr'):
	#tr 로시작하는 객체를 하나씩검사 
    
    sub_result=sub_tr.find('td',class_='no')# 순위 번호가 있는 td인지 확인
	
    if(sub_result):	
        #print(sub_result.get_text())
        #print('\n')
        
        td_array = sub_tr.find_all('td') # 종목 행별로 td로 구성됨 
        #0 -> number      (순위)
        #1 -> name        (종목이름)
        #2 -> search rate		
        #3 -> stock value (종목 현재가)
        rank = td_array[0].get_text()
        stock_name = td_array[1].get_text()

        print(f'{rank} : {stock_name}')
    else:
        continue

print(f'================================================================')

 

호출 결과

 

추출 결과

 

동일하게 추출된다 

728x90