I

[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 는 받으려면 새창으로 뜨더라고요 이렇게 새창으로 뜨는것도 그 창에서 다운이 가능하게 가능할까요? 완전 초보라 며칠 꽁꽁 싸매고 짜봤는데 ㅎㅎ 여기서 또 막혔네요..
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
4년 전 조회 3,396
4년 전 조회 4,758
4년 전 조회 6,121
4년 전 조회 5,714
4년 전 조회 4,822
4년 전 조회 7,180
4년 전 조회 2,799
4년 전 조회 3,436
4년 전 조회 4,734
4년 전 조회 3,867
4년 전 조회 3,539
4년 전 조회 5,547
4년 전 조회 2,730
4년 전 조회 8,025
4년 전 조회 5,395
4년 전 조회 4,075
4년 전 조회 5,503
4년 전 조회 6,399
4년 전 조회 6,011
4년 전 조회 4,525
4년 전 조회 4,802
4년 전 조회 3,217
4년 전 조회 3,869
4년 전 조회 5,034
4년 전 조회 7,596
4년 전 조회 4,518
4년 전 조회 4,058
4년 전 조회 1.3만
4년 전 조회 9,821
4년 전 조회 5,214