먼저 개발 환경입니다.
python은 3.9.0
pip는 20.2.3을 사용했습니다.
pip install requests
pip install bs4
두개의 라이브러리를 다운로드 합니다.
import requests
from bs4 import BeautifulSoup
#스크래핑 할 URL
NAVER_BEST100 = 'https://search.shopping.naver.com/best100v2/main.nhn'
#저장 할 TOP 10 배열
popular10lists =[]
#카테고리
categories =['인기검색','패션의류','패션잡화','화장품/미용','디지털/가전','가구/인테리어','식품','스포츠/레저','출산/육아','생활/건강']
#URL에서 데이터를 가져옴
source = requests.get(NAVER_BEST100).text
#bs를 이용하여 html 형식으로 바꿔줌
soup = BeautifulSoup(source,"html.parser")
#그 중에 p 태그의 ymd라는 클래스를 가진 것을 가져오기
ymd = soup.select("p.ymd")
# p태그의 ymd 클래스를 가져 와서 .을 떼고 출력 (YYYYMMdd)
print(ymd[0].text.replace('.',''))
#html 문서 중에서 id 가 popular_srch_lst 인 것을 찾기
popular10 = soup.find(id="popular_srch_lst")
#그 중에 txt만 가져오기
popular10names = popular10.select(".txt")
#top 10 검색어
#for문을 돌면서 배열에 저장
for name in popular10names:
popular10lists.append(name.text)
print(popular10lists)
# 종목 별 인기순위
#ul 태그의 type_normal이라는 클래스를 가진 것을 가져옴
categorieslists = soup.select("ul.type_normal")
for idx, category in enumerate(categorieslists): #enumerate는 리스트 원소에 순서를 부여해주는 함수임
for i, item in enumerate(category.find_all("img")):
name=item.get('alt')
href=item.get('data-original')
print(categories[idx], i,name,href)
실행 결과
감사합니다.
'Python' 카테고리의 다른 글
python - from PIL import Image Error 에러 해결법 (1) | 2020.11.13 |
---|---|
python3- ubuntu에 apache2와 Flask 연동하기 (2) | 2020.11.11 |
python - Flask (0) | 2020.11.01 |
python - Flask를 이용한 API 만들기 (feat.naverAPI) (0) | 2020.11.01 |
python - flask API Type Error (0) | 2020.11.01 |