본문 바로가기
혼자 공부하는 것들/web crawling

파이썬으로 웹크롤링 하기 무신사 검색어 순위 가져오기 (VScode, pip ,BeautifulSoup,requests)

by applepick 2020. 8. 26.
반응형

.py 파일을 하나 생성해줍시다.

import requests
from bs4 import BeautifulSoup

필요한 라이브러리를 import 해줍니다.

#무신사 검색어 순위 검색
url = 'https://store.musinsa.com/app/usr/search_ranking'
req = requests.get(url)
 
html = req.text
soup = BeautifulSoup(html, 'html.parser')

rank= 1
for tag in soup.select('span[class="word"]'):
    print(str(rank)+"등 " + tag.text)
    rank+=1

url이라는 변수안에 크롤링할 http페이지를 가져옵니다. 

저는 무신사에서 검색순위를 가져와보았습니다.

req에다가 url변수를 requests.get방식으로 가져와 넣어줍니다.

html이라는 변수에 가져온 req변수를 텍스트형식으로 바꿔 넣어줍니다.

그러면 html코드가 쭉 html이라는 변수안에 들어가게됩니다.

soup이라는 변수에 BeautifulSoup(html, 'html.parser')를 넣어줍니다. 그러면 해당페이지에 들어있는 값을 BeautifulSoup라이브러리가 정리해줍니다.

순위를 매겨줄것이기때문에 rank라는 변수에 1을 저장해놓습니다.

그리고 for문에서 soup.select('span[class="word"]')이부분이 가장 중요합니다. 웹에서 나오는 html 명령어를 바꿔줘야합니다. 원래는 <span class="word"></span>이런 형식으로 나눠져있는데 라이브러리에서 사용할수 있도록 바꿔줍니다. 형식만 맞춰주시면됩니다. 이렇게하면 안에있는값들이 for문을통해서 출력하게됩니다. print()함수를 사용하여 그냥 변수에다가 .format을 사용하면 되지만, 저는 str()으로 변환해서 사용했습니다. 이렇게해서 컴파일을 돌리면

이런식으로 현재 검색순위를 나타나게됩니다. 공식적으로 api를 제공하는 것이 아니기때문에 이것을통해서 상업적인 용도로 사용하시면안됩니다.!

반응형

댓글