개발자-H 입니다.

Python 크롤링을 이용하여 메이플스토리 랭킹 이미지 수집 본문

개발

Python 크롤링을 이용하여 메이플스토리 랭킹 이미지 수집

개발자-H 2021. 1. 5. 07:44

1. 크롤링이란?

크롤링이란 웹 페이지에 존재하는 다양한 정보를 접근하여 의미있는 데이터를 추출하는 작업이다.

 

웹 페이지에는 다양한 리소스들이 존재한다.

  • 텍스트 (주식 정보)
  • 이미지 (일러스트, 그림)
  • 동영상

 

Python에는 아래의 라이브러리를 활용하여 웹 페이지의 리소스를 접근 할수 있다.

  • requests (웹 페이지 요청)
  • BeautifulSoup (웹 페이지 정보 접근)

오늘의 타켓 페이지는 메이플 스토리 랭킹 페이지이다.

(maplestory.nexon.com/Ranking/World/Total?page=1)

 

 

2. 환경 설정

아래의 명령어로 의존 라이브러리를 다운받는다.
pip install requests
pip install bs4

maple-crawl-sample.py

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