No sweet without sweat

[크롤링] - Selenium, keys, tqdm 본문

Crawling

[크롤링] - Selenium, keys, tqdm

Remi 2022. 8. 17. 17:53
728x90
반응형

- 컴퓨터가 컴퓨터를 제어하자

 

- 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) 웹페이지 켜기

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

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

#menuList_375 > div > div.item-text > h4

근데 이렇게 값을 가져와도 모든 메뉴가 가져와지지 않습니다

 

그 이유는

때문에 모든 메뉴가 보여지않기 때문입니다

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만써주면됩니다.

그러면 이런식으로 진행 상황을 바로 알려줍니다.

728x90
반응형
Comments