본문 바로가기
코딩 연습/파이썬 크롤링

네이버 인플루언서 탭에서 인플루언서의 이름과 팬 숫자 추출하기

by good4me 2022. 5. 18.

goodthings4me.tistory.com

네이버에서도 영향력 있는 블로거들을 인플루언서라는 별도의 공간(탭)을 만들어 운영할 정도인데, 네이버 인플루언서 탭에서 인플루언서의 이름과 팬 숫자를 추출하는 코드를 파이썬으로 만들어봤다.

 

 

인플루언서 마케팅 관련 네이버 인플루언서와 팬 숫자 추출해보기

네이버 인플루운서 추출은 requests 모듈로도 일부 가능하지만, 스크롤을 통해 추가되는 전체 인플루언서를 추출하려면 selenium을 사용해야 한다. (단, 이 경우에는 스크롤 기능이 필요함)

[파이썬 소스 코드]

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time


def chromeWebdriver():
    options = Options()
    user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
    options.add_argument(f'user-agent={user_agent}')    
    options.add_argument('--headless')  # 웹 브라우저를 시각적으로 띄우지 않는 headless chrome 옵션
    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) 
    return driver


def naver_influencer(keyword):
    url = f'https://search.naver.com/search.naver?where=influencer&sm=tab_jum&query={keyword}'

    driver = chromeWebdriver()
    driver.get(url)
    driver.implicitly_wait(5)
    time.sleep(3)

    lis = driver.find_elements(By.CLASS_NAME, 'keyword_bx')
    print(f'\n=== 검색어 "{keyword}" 인플루언서 현황 ===')
    for li in lis:
        txt = li.find_element(By.CSS_SELECTOR, 'li > div.keyword_box_wrap.api_ani_send > div.user_box > div.user_box_inner > div.user_info_bx > div.user_area > a > span')
        field = li.find_element(By.CSS_SELECTOR, 'li > div.keyword_box_wrap.api_ani_send > div.user_box > div.user_box_inner > div.user_info_bx > div.etc_area > span.etc.highlight')
        fan_count = li.find_element(By.CSS_SELECTOR, 'li span._fan_count')
        print(f'{txt.text}/{field.text}/{fan_count.text.strip()}')

    driver.close()


if __name__ == "__main__":
    naver_influencer('베란다 샷시')
  • 네이버 검색 후 인플루언서 탭 클릭 시 브라우저에 표시되는 URL에 검색어만을 변경하면서 추출할 수 있게 한다.
  • selenium 크롬드라이버를 통해 인플루언서 정보를 추출한다.
  • driver.execute_script() 코드를 추가하여 인플루언서 웹 페이지 scrolling하면 해당 검색어에 대응하는 전체 인플루언서의 정보를 추출할 수 있다.

※ driver.execute_script() 관련 포스티은 "웹 브라우저 페이지를 자동으로 스크롤 해보기 (with 파이썬)" 참고

 

 

good4me.co.kr

 

[실행 결과]

DevTools listening on ws://127.0.0.1:61345/devtools/browser/dc101399-2b02-4a56-a905-08e57c051bb5

=== 검색어 "베란다 샷시" 인플루언서 현황 ===
써니쌤/리빙 전문블로거/5,321
핑크비쥬/리빙 전문블로거/1만+
한맥/리빙 전문블로거/4,315
하루공간/리빙 전문블로거/5,175
행복한웃음/시공/설치 전문가/8,249
모모디자인/인테리어 디자이너/5,039
재키c/리빙 영상크리에이터/7,731
바름 인테리어필름/시공/설치 전문가/2,465
세이예홈/리빙 전문블로거/8,781
행운별/리빙 전문블로거/1.1만+
팔랑덤보/육아 전문블로거/1.1만+
정면돌파/리빙 편집샵 운영/6,907
소을맘/육아 전문블로거/6,488
초록뱀/생활건강 전문블로거/2.3만+
보들룸/리빙 전문블로거/5,045
이웃집 언니/리빙 전문블로거/6,181
초이린/리빙 전문블로거/1.2만+
만렙주부/아동발달 전문가/2.9만+
토가방/리빙 전문블로거/7,669
작은 숲/리빙 편집샵 운영/1,122

 

 

 

웹 브라우저 페이지를 자동으로 스크롤 해보기 (with 파이썬)

파이썬으로 selenium과 chrome webdriver를 사용하여 긴 웹 브라우저의 페이지를 자동으로 스크롤되게 하는 기능을 설명한다. 특히, 네이버 블로그의 경우 마우스를 내리면 계속해서 페이지가 스크롤

goodthings4me.tistory.com

 

 

 

댓글