테스트 사이트 - 개발 중인 베타 버전입니다

[Python] Nate, Zum, Google Trend 실시간 검색어 크롤링

 

안녕하세요?

 

Nate, Zum의 실시간 검색어와 Google Trend의 최근 인기 검색어를 크롤링하여

 

LOG 파일로 저장하는 파이썬 스크립트를 작성했어요 ^-^

 

Naver와 Daum은 더 이상 실시간 검색어를 제공하지 않기 때문에 부득이 위 3개를 선택했네요.

 

생성된 LOG 파일을 그누보드에서 읽어서 위젯 등의 형태로 적절히 구현하시면 될 것 같아요 :)

 

 

[code]

import requests, json

from bs4 import BeautifulSoup as bs

from datetime import datetime


 

# Nate 실시간 검색어 크롤러

def nate_crawler(): 

    now = datetime.now().strftime('%Y%m%d%H%M')

    url = 'https://www.nate.com/js/data/jsonLiveKeywordDataV1.js?v=' + now

    r = requests.get(url).content

    keyword_list = json.loads(r.decode('euc-kr'))

    result = []

    for k in keyword_list:

        result.append(k[1])

    save_file(result, 'nate_trend')    

    return


 

# Zum 실시간 검색어 크롤러

def zum_crawler(): 

    url = 'https://m.search.zum.com/search.zum?method=uni&option=accu&qm=f_typing.top&query='

    html = requests.get(url).content

    soup = bs(html, 'html5lib')

    keyword_list = soup.find('div', {'class' : 'list_wrap animate'}).find_all('span', {'class' : 'keyword'})

    result = []

    for k in keyword_list:

        result.append(k.text.strip())

    save_file(result, 'zum_trend')

    return


 

# Google Trend 최근 인기 검색어 크롤러

def google_crawler(): 

    url = 'https://trends.google.com/trends/api/topdailytrends?hl=ko&tz=-540&geo=US'

    html = requests.get(url).text

    data = json.loads(str(html).split('\n')[1])

    result = []

    for i in range(10):

        result.append(data['default']['trendingSearches'][i]['title'])

    save_file(result, 'google_trend')

    return


 

def save_file(data, filename):

    with open(f'{filename}.log', 'wt', encoding = 'utf-8') as f:

        f.write('\n'.join(data))

    return

[/code]

 

 

브라우저 개발자도구를 확인해보면 아시겠지만 3개 사이트 모두 동적 웹페이지 형태이기 때문에

 

위와 같이 다소 우회적으로 크롤링을 해야 되더군요~

 

향후 해당 사이트가 업데이트 된다면 부득이 스크립트의 수정이 필요할 수 있습니다 ㅠㅠ

 

그리고 다들 아시겠지만 Google Trend의 인기 검색어는 아쉽게도 우리나라를 지원하지 않기 때문에

 

부득이 미국에서의 인기 검색어를 크롤링했네요~ T.T

 

 

위 스크립트를 실행하여 생성된 LOG 파일을 열어보면,

 

다음과 같이 잘 크롤링 되었음을 확인할 수 있어요!

 

1. Nate 실시간 검색어 크롤링 결과

 

3717471035_1619921464.845.png

 

 

2. Zum 실시간 검색어 크롤링 결과

 

3717471035_1619921520.581.png

 

 

3. Google Trend 최근 인기 검색어 크롤링 결과

 

3717471035_1619921561.1785.png

 

 

여러모로 부족한 스크립트를 읽어주셔서 감사드려요!

 

파이썬 크롤링과 관련된 질문은 언제든지 환영이에요~

 

그럼 냑 회원님들 모두 즐거운 주말 되시고, 5월 첫 주도 화이팅입니다 ^-^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

@선구자 오오~ 감사합니다 :)
좋은 주말 되시고, 항상 건강하세요! ^-^
안녕하세요 크롤링을 공부하고 있는데요..
제가 아이때문에 영어 사이트를 결제하여 사용 하고 있는데 안에 있는 음원과 pdf 를
다운받고싶어 음원은 골라서 다운받을 수 있게 파이썬으로 코딩을 해보았는데
pdf 는 받으려면 새창으로 뜨더라고요 이렇게 새창으로 뜨는것도 그 창에서 다운이 가능하게 가능할까요? 완전 초보라 며칠 꽁꽁 싸매고 짜봤는데 ㅎㅎ 여기서 또 막혔네요..

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168