일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 크롤링
- 웹앱
- sklearn
- ensemble
- 자바스크립트
- request
- 정처기
- java
- 머신러닝
- Intellij
- pds
- crawling
- list
- BS
- lombok
- Req
- javascript
- 백준
- 정보처리기사필기
- pandas
- 정보처리기사
- APPEND
- dataframe
- BeautifulSoup
- 비전공자
- regressor
- springboot
- AWS
- SOUP
- Today
- Total
No sweet without sweat
[크롤링] - Selenium, keys, tqdm 본문
- 컴퓨터가 컴퓨터를 제어하자
- Selenium 모듈
: 웹페이지를 제어하기위한 모듈
* 처음 시작 시 셀레니움 설치 필요

: !pip install selenium
# webdriver = 웹페이지를 제어하기 위한 모듈 >> 웹 그자체가 됨
# Keys = 컴퓨터의 키보드와 같은 역할 모듈
# time = 쉬는시간을 부여한다.
1) 값 import 해오기

from selenium import webdriver as wb
from selenium.webdriver.common.keys imports Keys
import time
2) 크롬 드라이버 실행

3) 검색창의 위치를 알아보기
* 똑같이 f12누르고 검색창 검사하면 위치를 확인할 수 있습니다.

# id : "query"

4) 검색어 입력 - send.keys("쓰고 싶은 말")

5-1) 클릭해서 검색하는 방법

5-2) 엔터를 쳐서 검색하는 방법

문제 1. 한솥도시락 이름, 가격 정보 수집
1) import

2) 웹페이지 켜기

url = "https://www.hsd.co.kr/menu/menu_list"
3) bs

4) soup, 상품 이름 가져오기

if) 태그이름을 가져오기가 어렵다?


그 이유는

때문에 모든 메뉴가 보여지않기 때문입니다
5) 더보기 버튼 눌러주기
- 버튼 class 이름 : c_05
driver.find_element_by_class_name("")

버튼이 몇개 있을지 모르니까 반복해서 눌러줄 수 있도록 해야합니다.
try / except 구문사용

time.sleep(2) 2초로 주는 이유는 컴퓨터에 break time을 줘서 원활하게 돌아갈수 있게 함이에요.
만약에 주지 않는다면, 컴퓨터 성능에따라 실행이 안될수도 있습니다.
문제 2 . 메뉴명, 가격, 데이터프레임 제작


정답 :

3. 반복문의 진행 상황을 체크해주는 라이브러리
from tqdm import tqdm_notebook as tq


range앞에 tq만써주면됩니다.

그러면 이런식으로 진행 상황을 바로 알려줍니다.
'Crawling' 카테고리의 다른 글
Gmarket top 100 가져오기 (0) | 2022.08.19 |
---|---|
[크롤링] - chrome driver, os, mkdir, nth-child, from urllib.request import urlretrieve (0) | 2022.08.18 |
[크롤링] - append, Dataframe, csv, html 파일로 저장(멜론 TOP 100 가수) (0) | 2022.08.16 |
[크롤링] - Request, Beautifulsoup (0) | 2022.08.15 |