728x90
반응형
늦깎이 코딩 공부이지만 뭐든지 새로운 것을 알아간다는 것이 행복하다는 것을 최근 다시 깨닫고 있습니다. 파이썬을 이용해서 실무에서 데이터 분석도 할 줄 아는 PM이 되기 위해 노력 중입니다. 오늘은 네이버 쇼핑의 특정 카테고리의 인기 상품 Top 100의 상품명과 가격을 크롤링하여 엑셀에 저장하는 코드를 작성해 보았습니다.
물론 잔재미코딩님의 강의용 코드 소스를 기본으로 해서 네이버 쇼핑 사이트를 기준으로 연습을 해 본 것인데, 몇 번의 오류와 오타 수정을 통해 제가 원하는 데이터를 추출해서 엑셀에 저장할 수 있다는 것만으로도, 한 단계 발전한 느낌입니다.
import openpyxl
import requests
from bs4 import BeautifulSoup
def write_excel_template2(filename, sheetname, listdata):
excel_file = openpyxl.Workbook()
excel_sheet = excel_file.active
excel_sheet.column_dimensions['A'].width = 80
if sheetname != '':
excel_sheet.title = sheetname
for item in listdata:
excel_sheet.append(item)
excel_file.save(filename)
excel_file.close()
res = requests.get('https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000001')
soup = BeautifulSoup(res.content, 'html.parser')
keywords = list()
keyword = soup.select('li._itemSection')
for data2 in keyword:
name = data2.select_one('p.cont')
# 상품명 추출하기
price = data2.select_one('div.price span.num')
# 가격 추출하기
product_info = [name.get_text().strip(), price.get_text()]
# 상품명과 가격을 변수에 저장하기
keywords.append(product_info)
# 리스트변수에 append 함수를 이용해서 리스트에 추가하기
write_excel_template2('naver.xlsx', '인기키워드', keywords)
# 엑셀 생성을 위한 메서드 호출하기
728x90
반응형
'Coding Study > Python' 카테고리의 다른 글
G마켓 - 베스트 카테고리 & 상품상세 공급사 정보 크롤링하기 (1) | 2020.11.26 |
---|---|
( Python ) 지마켓 베스트 카테고리 - 상품명, 가격 중복 크롤링하기 (0) | 2020.11.24 |
Python - 네이버 Open API 를 이용해서 특정 키워드 뉴스 10개 가져오기 (0) | 2020.11.19 |
파이썬 기초를 위해 어떤 강의를 들어야 할까? (0) | 2020.05.24 |
Python - Mysql 접속하기 / Query 구문 실행하기 (0) | 2020.03.16 |