일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CountVectorizer
- 댓글분석
- 딥러닝
- 크롤링
- Selenium
- 과대적합
- python
- servlet
- sellenium
- 스마트인재개발원
- 토큰화
- 머신러닝
- tfidf
- 광주국비지원학원
- 활성화함수
- 셀리니움
- permisision부여
- 데이터프레임
- jsp
- DataFrame
- relu
- 웹크롤링
- 광주인공지능학원
- iris붓꽃
- 인공지능
- 파이썬
- 자바
- 인공지능학원
- 과대적합제어
- 유투브크롤링
Archives
- Today
- Total
+ Hello +
[스마트인재개발원] [웹 크롤링] Gmarket Top 100 가져오기 본문
1. import 작업해주기
from selenium import webdriver as wb
import pandas as pd
import time
2. 크롬창 불러와서 Gmarket bestseller 창 가져오기
driver = wb.Chrome()
driver.get('http://corners.gmarket.co.kr/Bestsellers')
2-1) 크롬창 들어가는거 보고싶지 않을 때
options = wb.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
3. BEST 1 제품창 찾아 클릭하기
- 선택자 통해서 접근하기
- copy > copy selector
# 선택자를 통해 접근 : .find_element_by_css_selector()
#gBestWrap > div > div:nth-child(5) > div:nth-child(3) > ul > li:nth-child(1) > a
div= driver.find_element_by_css_selector('p#no'+ str(i)+'+div')
# 해당 상품 클릭
div.click()
4. 제품의 이름, 가격, 카테고리 가져오기
- copy > copy selector
- 복수개 가져올 때 : driver.find_elements_by_css_selector() 사용
title = driver.find_element_by_css_selector('h1.itemtit').text
price = driver.find_element_by_css_selector('strong.price_real').text
cate = driver.find_element_by_css_selector('div.location-navi > ul > li:last-child > a').text
* category
- li 여러개인데 class는 없을 때 : last-child 사용
- 마우스 오른쪽 > copy selector : body > div.location-navi > ul > li.on > a
5. 1위 페이지에서 나오기
# 페이지 뒤로가기 : .back()
driver.back()
6. 1~5번 과정을 반복하여 1위 ~ 11위의 이름, 가격, 카테고리 수집
driver = wb.Chrome()
driver.get('http://corners.gmarket.co.kr/Bestsellers')
time.sleep(1)
title_list =[]
price_list = []
cate_list = []
for i in range(1,11):
div= driver.find_element_by_css_selector('p#no'+ str(i)+'+div')
div.click()
time.sleep(1)
title = driver.find_element_by_css_selector('h1.itemtit').text
price = driver.find_element_by_css_selector('strong.price_real').text
cate = driver.find_element_by_css_selector('div.location-navi > ul > li:last-child > a').text
title_list.append(title)
price_list.append(price)
cate_list.append(cate)
time.sleep(1)
driver.back()
time.sleep(1)
7. DataFrame으로 만들어주기
title_list
dic = {'상품명' : title_list, '가격':price_list, '카테고리' : cate_list}
pd.DataFrame(dic)
* 1~7번 과정 한번에 작성
# option 쓰려면 Chorme안에 경로 넣기('C:\Users\SM2129\크롤링')
driver = wb.Chrome('C:/Users/SM2129/크롤링/chromedriver.exe', chrome_options=options)
driver.get('http://corners.gmarket.co.kr/Bestsellers')
time.sleep(1)
title_list =[]
price_list = []
cate_list = []
for i in range(1,11):
div= driver.find_element_by_css_selector('p#no'+ str(i)+'+div')
div.click()
time.sleep(1)
title = driver.find_element_by_css_selector('h1.itemtit').text
price = driver.find_element_by_css_selector('strong.price_real').text
cate = driver.find_element_by_css_selector('div.location-navi > ul > li:last-child > a').text
title_list.append(title)
price_list.append(price)
cate_list.append(cate)
time.sleep(1)
driver.back()
time.sleep(1)
dic = {'상품명' : title_list, '가격':price_list, '카테고리' : cate_list}
pd.DataFrame(dic)
위 과정은 스마트인재개발원 수업 내용입니다.
'+ 스마트인재개발원 +' 카테고리의 다른 글
[스마트인재개발원] [머신러닝] 영화 리뷰 분석하기 (1) | 2021.06.27 |
---|---|
[스마트인재개발원]210603 머신러닝 수업 정리 (0) | 2021.06.20 |
[스마트인재개발원] [웹 크롤링] 유튜브 영상의 제목, 조회수 크롤링하기 (2) | 2021.06.09 |
[스마트인재개발원][웹 크롤링] Selenium 모듈 | 한솥 도시락 메뉴, 가격 데이터 프레임만들기 (0) | 2021.06.08 |
[스마트인재개발원] [웹 크롤링] 멜론 TOP 100 수집하기 (0) | 2021.06.05 |
Comments