개발/코뮤니티

[파이썬 크롤링] 15일차 : 자유로운 크롤링 2️⃣

Hyunsun 2022. 2. 25. 00:24
728x90

코뮤니티 모각코 파이썬 크롤링 출석 인증 15일차

 

✅ 오늘의 문제 : 자유로운 크롤링 2️⃣

 

14일차의 과제로, 우리는 자신이 원하는 데이터 추출 및 분석 1단계를 수행했어요.

 

1단계에 이어, 오늘은 크롤링 모델을 마무리 해 주세요!

저는 저번시간에 추출 한 회차 별 로또 번호를 분석하려고 해요.😉

 

멜론차트 TOP100에서 좋아요가 많은 순서대로 정렬해보았어용!

 

코드

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

chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service)

melon_chart = "https://www.melon.com/chart/index.htm"  # 멜론 차트
driver.get(melon_chart)
time.sleep(3)

dic = {}

for i in range(100):
    # 제목
    xpath1 = "/html/body/div/div[3]/div/div/div[3]/form/div/table/tbody/tr[" + str(
        i+1)+"]/td[6]/div/div/div[1]/span/a"
    title = driver.find_element(By.XPATH, xpath1).text

    # 좋아요 수
    xpath2 = "/html/body/div/div[3]/div/div/div[3]/form/div/table/tbody/tr[" + str(
        i+1)+"]/td[8]/div/button/span[2]"
    like = driver.find_element(By.XPATH, xpath2).text

    like = like.replace(",", "")
    like = int(like)

    dic[like] = title

print("멜론차트 TOP100 좋아요 순위")
i = 1
for key, value in sorted(dic.items(), reverse=True):
    print(i, "위:", key, "-", value)
    i += 1

driver.close()

 

결과

728x90