inflearn logo
강의

Course

Instructor

[New Revised Edition] This is Real Crawling - Basic Course

선생님 검색창 클릭을 못해요 ㅠ

535

hongcheol947197

1 asked

1

선생님 검색창을 클릭을 못하고 있는데 코드 그대로 작성 헀는데 제 나름 오타를 찾아보겠다고 찾아 봤지만 놓쳤는지 뭐가 원인인지 모르겠어요ㅠㅠ

코드는 이렇게 작성헀습니다.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# 브라우저 생성
browser = webdriver.Chrome('c:/chromedriver.exe')
# mac 의 경우 /User/내거로/Documents/chromedriver

# 웹 사이트 열기
browser.get('https://www.naver.com')
browser.implicitly_wait(10) # 로딩이 끝날 때까지 10초 기다림

# 쇼핑 메뉴 클릭하기
browser.find_element(By.CSS_SELECTOR, "a.nav.shop").click()
time.sleep(2)

# 검색창 클릭
search = browser.find_element(By.CSS_SELECTOR, "input.co_srh_input._input")
search.click()

# 검색어 입력
search.send_keys("아이폰13")
search.send_keys(Keys.ENTER)

# 스크롤 전 높이.
before_h = browser.execute_script("return window.scrollY")

# 무한 스크롤
while True:
        #맨 아래로 스크롤을 내린다.
        browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END)

        # 스크롤 사이 페이지 로딩 시간
        time.sleep(1)

        # 스크롤 후 높이
        after_h = browser.execute_script("return window.scrollY")

        if after_h == before_h:
            break
        before_h = after_h

        #상품 정보 div
        items = browser.find_elements(By.CSS_SELECTOR, ".basicList_info_area__TWvzp")

        for item in items :
            name = item.find_elements(By.CSS_SELECTOR, ".basicList_title__VfX3c").text # text만 추출
            pirce = item.find_elements(By.CSS_SELECTOR, ".price_num__S2p_v").text
            link = item.find_elements(By.CSS_SELECTOR, ".price_num__S2p_v > a").get_attribute('href')
            print(name, pirce, link)

웹-크롤링 python

Answer 2

0

expert7kr1332

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import csv

browser = webdriver.Firefox()  # firefox 브라우저를 먼저 설치해야 줘야 작동함
browser.implicitly_wait(10)  # 페이지가 로딩될 때까지 최대 10초까지 기다려줌

browser.get("https://www.naver.com")

# 쇼핑메뉴 클릭
browser.find_element(By.CSS_SELECTOR, 'a.nav.shop').click()
time.sleep(2)

# 검색창 클릭
search = browser.find_element(By.CSS_SELECTOR, 'input._searchInput_search_text_fSuJ6')
search.click()

# 검색어 입력
search.send_keys('아이폰 13')
search.send_keys(Keys.ENTER)  # enter 입력
time.sleep(1)

# 스크롤 전 높이
before_h = browser.execute_script("return window.scrollY")

# 무한 스크롤
while True:
  # 맨 아래로 스크롤 내린다.
  browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END)  # End키

  # 스크롤 사이 페이지 로딩 시간
  time.sleep(1)

  # 스크롤 후 높이
  after_h = browser.execute_script("return window.scrollY")

  if after_h == before_h:
    break
  before_h = after_h

# 파일 만들기(csv)
f = open(r"D:\python_Workspace\crawling\startCoding_crawling\03_네이버_쇼핑_크롤링\data.csv", "w", encoding='cp949', newline='')
csvWriter = csv.writer(f)

# 상품 정보 div
items = browser.find_elements(By.CSS_SELECTOR, ".basicList_info_area__TWvzp")
for item in items:
  name = item.find_element(By.CSS_SELECTOR, ".basicList_title__VfX3c").text
  try:
    price = item.find_element(By.CSS_SELECTOR, ".price_num__S2p_v").text  # 판매중지된 것 있음
  except:
    price = "판매중단"
  link = item.find_element(By.CSS_SELECTOR, ".basicList_title__VfX3c > a").get_attribute('href')

  print("\n" + name, price, link)
  csvWriter.writerow([name, price, link])  # 데이터 쓰기

0

startcoding

페이지가 업데이트 되었기 때문에 선택자가 바뀌었습니다.

바뀐 선택자로 테스트 해보세요 :)

 

ex) 검색창 선택자 ->

input._searchInput_search_text_3CUDs

Live server 를 이용 해보고 싶은데 확장메뉴 설치가 막혀 있어요

0

69

2

'팀 단위 AI 업무 혁신' 자문 관련하여 문의드리고자 합니다. (연락처 요청)

0

41

1

import requests from bs4 import BeatifulSoup 이 단계에서 안 되네요

0

80

2

requests 관련 질문

1

138

2

설치 관련

0

132

2

vs code 결과출력이 안됩니다

0

144

1

크롤링 관련 질문입니다

0

212

2

word wrap 체크 후에도 콘솔 한줄로 출력되는현상

0

192

1

주피터에서 pip오류가 계속납니다

0

1090

3

강의 "requests, Beautifulsoup4 사용법 빠르게 알아보기"에서 질문이있습니다.

0

173

2

네이버쇼핑 검색창 넘어가기전 팝업창이 안사라져요

0

368

1

html주소를 다른 컴터에서도 접속하기

0

244

2

pandas 설치하는데 오류가 나서요

0

2715

1

실행오류

0

216

1

네이버쇼핑 무한스크롤 안되시는분들 모바일네이버로 실습해보세요

0

264

1

뉴스 페이지에 페이지 번호가 없는데 어떻게 가져오나요?

0

233

2

네이버 쇼핑에 팝업창이 뜨기 시작했어요 도와주세요 ㅠㅠ

0

726

3

셀레니움 실습 시 창이 자동 차단되면서 꺼집니다.

0

668

2

낮은 가격순을 클릭하는 문을 추가하고싶습니다.

0

305

2

pip는 내부 또는 외부명령 ,실행할 수 있는 프로그램

0

3405

2

이런오류는 어떤 오류인가요

0

661

1

창이 두개떠요/쇼핑검색도 안되요 ㅜ

0

334

2

약간 변태(?)같지만 해당 코드를 깔끔하게 함수로 리팩토링해보았습니다

0

338

2

과제 답안을 보지않고 스스로 구글링해서 만든 웹 크롤링 프로그램(10페이지 단위) 코드입니다.

0

762

2