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
'MBTI Project' 카테고리의 다른 글
MongoDB로 필드명 일괄 변경하기 (0) | 2021.12.06 |
---|---|
자바스크립트를 통해 mongoDB에서 데이터 필터링하고, 해당 데이터 모아서 다른 테이블에 저장하기 (0) | 2021.12.02 |
2020.11.25오늘의 커밋. MBTI Project를 Vue로 변경 (0) | 2020.11.25 |
Prisma를 통한 개발 인프라 구축 - Prisma와 node 서버 연동 (0) | 2020.11.19 |
Prisma를 통한 개발 인프라 구축 - Prisma 설치 및 CRUD (0) | 2020.11.18 |