더보기
find_element() => 동적인 화면(클릭, 검색버튼을 클릭)에서 요소를 불러오는 함수
soup.select() => 캡쳐된 화면(클릭이 불가)에서 요소를 불러오는 함수
from selenium import webdriver as wb
# 웹 브라우저를 통제하기 위한 라이브러리
from selenium.webdriver.common.by import By
# html 문서에서 태그와 선택자의 위치를 찾기 위한 라이브러리
from selenium.webdriver.common.keys import Keys
# 웹에게 값을 '입력'하기 위한 라이브러리
from bs4 import BeautifulSoup as bs
# 컴퓨터가 이해하기 쉬운 객체로 변환해주는 라이브러리
import pandas as pd
# 수집한 정보를 DataFrame화 하기 위한 라이브러리
import time
# 코딩 중간에 쉬는 시간을 부여해주는 라이브러리
Gmarket 상품정보 크롤링
- 1 ~ 10위 까지 상품에 하나하나 접근하기(클릭)
- 상품명, 상품가격, 카테고리 수집
- 반복문을 통해서 1 ~ 10위에 해당하는 데이터를 데이터프레임 형태로 출력
방법1)
driver = wb.Chrome()
driver.get('https://corners.gmarket.co.kr/bestsellers')
goodlist = []
pricelist = []
ctlist = []
rank =[]
for i in range(0, 10) :
driver.get('https://corners.gmarket.co.kr/bestsellers')
btn = driver.find_element(By.ID, f'itemidx{i+1}')
btn.click()
time.sleep(2)
soup = bs(driver.page_source, 'lxml')
good = soup.select('h1.itemtit')
goodlist.append(good[0].text)
price = soup.select('strong.price_real')
pricelist.append(price[0].text)
ct = soup.select('li.on>a')
ctlist.append(ct[0].text)
rank.append(i+1)
driver.close()
dic = {'상품명':goodlist, '가격':pricelist, '카테고리':ctlist}
gmarket = pd.DataFrame(dic, index=rank)
gmarket
방법 2)
driver = wb.Chrome()
driver.get('https://corners.gmarket.co.kr/bestsellers')
goodlist = []
pricelist = []
ctlist = []
rank =[]
for i in range(0, 10) :
btn = driver.find_element(By.ID, f'itemidx{i+1}')
btn.click()
time.sleep(2)
soup = bs(driver.page_source, 'lxml')
good = soup.select('h1.itemtit')
goodlist.append(good[0].text)
price = soup.select('strong.price_real')
pricelist.append(price[0].text)
ct = soup.select('li.on>a')
ctlist.append(ct[0].text)
rank.append(i+1)
driver.back()
driver.close()
dic = {'상품명':goodlist, '가격':pricelist, '카테고리':ctlist}
gmarket = pd.DataFrame(dic, index=rank)
gmarket
결과
'Web > Crawling' 카테고리의 다른 글
네이버 이미지 데이터 수집 (0) | 2023.04.13 |
---|---|
포켓몬 이미지 데이터 수집 (0) | 2023.04.12 |
한솥도시락 data 크롤링 (0) | 2023.04.09 |
selenium 라이브러리 (0) | 2023.04.09 |
웹페이지 데이터 수집 (0) | 2023.04.06 |
댓글