Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 부분 수열의 합
- 위클리 챌린지
- 재귀
- 좋은 수열
- 프로그래머스
- BOJ
- 백트렉킹
- 복서 정렬하기
- openssl
- 순열장난
- DP
- 39080
- 그래프
- 백트랙킹
- dfs
- 문서자동화
- ElementTree
- 줄어드는 숫자
- 위클리 6주차
- 완전 탐색
- Java
- 백트래킹
- 1174
- 10597
- 너비우선탐색
- 입실 퇴실
- BFS
- 백준
- 몯느 순열
- 코딩테스트
Archives
개발자-H 입니다.
Python 크롤링을 이용하여 메이플스토리 랭킹 이미지 수집 본문
1. 크롤링이란?
크롤링이란 웹 페이지에 존재하는 다양한 정보를 접근하여 의미있는 데이터를 추출하는 작업이다.
웹 페이지에는 다양한 리소스들이 존재한다.
- 텍스트 (주식 정보)
- 이미지 (일러스트, 그림)
- 동영상
Python에는 아래의 라이브러리를 활용하여 웹 페이지의 리소스를 접근 할수 있다.
- requests (웹 페이지 요청)
- BeautifulSoup (웹 페이지 정보 접근)
오늘의 타켓 페이지는 메이플 스토리 랭킹 페이지이다.
(maplestory.nexon.com/Ranking/World/Total?page=1)
2. 환경 설정
아래의 명령어로 의존 라이브러리를 다운받는다.
pip install requests
pip install bs4
3. 크롤 코드
랭킹 1 페이지에 있는 10개의 케릭터 사진을 다운로드 하여 저장한다.
import requests
from bs4 import BeautifulSoup
# 랭킹 페이지 기본 주소
BASE_URL = "https://maplestory.nexon.com/Ranking/World/Total?page=1"
def rank_page_crawl():
html = requests.get(BASE_URL).text
crawl = BeautifulSoup(html, "html.parser")
# 랭킹 페이지 중 케릭터 정보 테이블 추출
f = crawl.select(".rank_table_wrap .rank_table tbody tr")
index = 0
for item in f:
# 테이블 Row 에서 필요 정보 추출
info = item.select(".char_img > img")[0]
img_src = info['src']
img = requests.get(img_src).content
# 이미지 저장
with open(f'./img/{index}.png', 'wb') as f:
f.write(img)
index += 1
rank_page_crawl()
'개발' 카테고리의 다른 글
ASN.1 Reader 추천 사이트 (0) | 2024.05.06 |
---|---|
[문서 자동화] 주석 메타 정보 얻기 (0) | 2022.03.21 |
Comments