일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CUDA
- streamlit
- webserving
- qgis
- 성능
- ml 웹서빙
- Ai
- QGIS설치
- 딥러닝
- 2유형
- 1유형
- pytorch
- KNN
- 빅데이터분석기사
- 캐글
- K최근접이웃
- gradio
- 인공지능
- GPU
- 머신러닝
- Kaggle
- 실기
- DASH
- fastapi
- 공간시각화
- 3유형
- 예제소스
- dl
- 공간분석
- ㅂ
Archives
- Today
- Total
에코프로.AI
[Python] 크롤링 예제 (Feat. 멜론 차트) 본문
멜론차트 TOP100 - 크롤링 예제
- 멜론차트 TOP100 리스트 가져오기
- 링크정보 : https://www.melon.com/chart/index.htm
- 사이트 전체 HTML 정보 가져오기
import requests
url = 'https://www.melon.com/chart/index.htm'
header = {
'User-Agent' : 'Mozilla/5.0',
'Referer' : url
}
response = requests.get(url, headers=header)
result = response.text
- BeautifulSoup 객체로 변환
from bs4 import BeautifulSoup
soup = BeautifulSoup(result, 'html.parser')
print(soup.prettify())
- 순위 별로 구분되어 있는 <tr> 태그 가져오기
- 검색 된 <tr> 태그 안에 순위의 항목(순위, 노래제목, 가수, 좋아요..) 등의 정보가 들어있음.
- 검색 된 <tr> 태그 안에 순위의 항목(순위, 노래제목, 가수, 좋아요..) 등의 정보가 들어있음.
#items = soup.select("#frm > div > table > tbody > tr")
items = soup.select("tbody > tr")
- 각각의 <tr> 태그에서 순위, 노래제목, 가수, 좋아요 정보 분류
- css_selector 의 내용은 멜론 사이트의 변경에 따라 바뀔 수 있습니다.
- 크롬 - F12 입력 후, 우측의 'Elements' Selector를 이용하여 태그를 찾으시면 됩니다.
- css_selector 의 내용은 멜론 사이트의 변경에 따라 바뀔 수 있습니다.
lst = []
for news in items:
rank = news.select_one('.rank').text.strip() # 순위
title = news.select_one('span > a').text.strip() # 노래제목
singer = news.select_one('.ellipsis.rank02 > a').text.strip() # 가수
cnt = news.select_one('div > button > span.cnt').text.strip().replace('\t', '') # 좋아요
lst.append([rank, title, singer, cnt])
print(lst)
- Pandas의 DataFrame 으로 변환
df = pd.DataFrame(lst, columns = ['순위', '제목', '가수', '좋아요'])
df
- .xlsx 엑셀파일로 저장
df.to_excel('meoln.xlsx', index=False)
끝~

'AI Tutorial' 카테고리의 다른 글
[Tensorflow] mnist 데이터셋 손글씨 예측 모델링(Feat. DNN 모델) (0) | 2024.08.22 |
---|---|
[Tensorflow] Tensorflow 소개 및 간단한 모델링 (0) | 2024.08.22 |
[Python] 크롤링 예제 (Feat. 다음 뉴스) (1) | 2024.08.21 |
[Python] BeautifulSoup 라이브러리 소개 및 기본활용 (0) | 2024.08.20 |
[Python] Requests 라이브러리 소개 및 활용(Feat. xml) (0) | 2024.08.20 |