SW/Python

파이썬 : 네이버 실시간 검색어로 다음 뉴스 검색 자동화 프로그램

얇은생각 2019. 10. 15. 07:30
반응형

코드

# 네이버 실시간 검색어를 

import xlsxwriter as xw
import requests 
import bs4

naver = requests.get('https://www.naver.com/') 
naver_bs = bs4.BeautifulSoup(naver.content, 'lxml')
span_list = naver_bs.find_all('span', class_='ah_k')
span_list = set(span_list) 

realtime_list = [] 
for sp in span_list:
    realtime_list.append(sp.text) 

wb = xw.Workbook(r'C:\Users\Yang\Desktop\검색어 뉴스 데이터.xlsx')

for que in realtime_list:
    ws = wb.add_worksheet(que)
    page = 1
    
    for i in range(1, page+1):    
        url = 'https://search.daum.net/search?w=news&sort=recency&q={}&cluster=n&DA=STC&s=NS&a=STCF&dc=STC&pg=1&r=1&p={}&rc=1&at=more&sd=&ed=&period='   
        real_url = url.format(que, i)     
        news = requests.get(real_url)
        news_bs = bs4.BeautifulSoup(news.content, 'lxml')  
        news_list = news_bs.findAll('div', class_="cont_inner")   
    
    for i in range(len(news_list)):
        ws.write(i,0, news_list[i].find('a').text)
        ws.write(i,1, news_list[i].find('a')['href'])
        ws.write(i,2, news_list[i].find('p').text)


wb.close()

 

이번 웹 크롤러는 네이버 실시간 검색어를 파싱해옵니다. 파싱해온 실시간 검색어로 다음에 기사를 검색하고 해당 결과를 엑셀 데이터로 저장합니다. 아래와 같은 결과가 나오는 것을 확인할 수 있습니다. 이러한 웹크롤러를 통해 손 쉽게, 텍스트 데이터를 수집할 수 있다는 것을 알게 되었습니다. 본인 업무와 필요에 맞게 수정 개발한다면, 좋을 것 같습니다.

 

 

코드 결과

프로그램 결과

 

시트에는 해당하는 검색어가 입력된 것을 확인할 수 있습니다. 그리고, 기사의 제목, url, 내용이 입력된 것을 확인 할 수 있습니다. 검색한 기사 페이지도 높이면, 더욱 많은 데이터를 가져올 수 있습니다.

반응형