본문 바로가기

MBTI Project

간만에 커밋. 나무위키 크롤링하기

728x90
from selenium import webdriver
import time

chromedriver = "C:\chromeweb\chromedriver.exe"
driver = webdriver.Chrome(chromedriver)

name = "효연"

driver.get('https://namu.wiki/w/'+name)

print("+" * 100)
print(driver.title)
print(driver.current_url)
print("킹무위키 크롤링")
print("-" * 100)

time.sleep(2)

# 킹무위키 페이지 진입해서 프로필 테이블 추출
allProfileElement = driver.find_elements_by_css_selector(
    "div.wiki-table-wrap.table-right")

# 나무위키 페이지 크롤링
for item in allProfileElement:
    for itemSub in item.find_elements_by_css_selector('tr'):
        for lastItem in itemSub.find_elements_by_css_selector("td > div"):
            if(lastItem.find_elements_by_css_selector("strong")):
                print("\n"+lastItem.find_elements_by_css_selector("strong")[0].text,end=' : ')
            else :
                print(lastItem.text)
driver.quit()

현재 MBTI를 조사하기 위해 가장 필요한 것 중 하나가 바로

 

MBTI 데이터베이스이다.

 

일반적인 사람의 데이터베이스는 얻기 힘들뿐더라 딱히 흥미롭지도 않다.

 

그래서 생각한것이 연예인의 MBTI를 자동으로 가져오는 프로그램을 작성하여

 

DB에 자동으로 넣어주는 것이다.

 

 

 

처음에는 그냥 파이썬 requests를 이용하면 될 줄 알았는데

 

나무위키에서 사용하는 reCAPTCHA 때문에 안되더라.

 

 

혹시나 하는 마음에 셀레니움을 도입해보았더니 아주 잘 되었다.

 

 

라익 디스

 

 

 

 

이제 이걸

 

json으로 예쁘게 다듬어서

prisma에 업로드 하는 로직을 짜야겠다.

 

1. json으로 다듬기

2. js에서 파이썬 호출하고 해당 데이터 js로 얻어오기

3. js에서 prisma로 데이터 보내기

 

 

이거까지 하면 될듯!

 

 

 

 

728x90