커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
selenium을 이용하여 동적 크롤링에는 성공하였는데 추가적인 질문이 있습니다
undefined주차
북마크
윤*은
댓글
9
추천
0
조회수
35
조회수
35
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


http://gs25.gsretail.com/gscvs/ko/products/event-goods#;

홈페이지에서 밑에 보면 1+1행사하는 제품이 있습니다

그 제품의 리스트를 가져오는데는 성공했는데 이게 1페이지 것만 가져와지더라구요

제가 2페이지 것도 가져오는 건 할 수 있는데 코드1의 trs랑 trs2처럼 따로따로 담아야하더라구요

자동으로 리스트를 만들도록 할 수는 없을까요?

반복문으로 해보려고했는데 조건을 어떻게 잡아야할지 모르겠습니다 ㅠ

혹시 상품 숫자가 달라져서 총 페이지 숫자가 달라지더라도 상관없이 리스트에 담을 수 있게 하고 싶습니다!






작성한 코드 및 에러 메세지

코드1

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.implicitly_wait(3)
driver.get('http://gs25.gsretail.com/gscvs/ko/products/event-goods')

html_store = driver.page_source
soup = BeautifulSoup(html_store, 'html.parser')

trs = soup.select('#contents > div.cnt > div.cnt_section.mt50 > div > div > div:nth-child(3) > ul > li')
driver.find_element(By.XPATH, '//*[@id="contents"]/div[2]/div[3]/div/div/div[1]/div/a[3]').click()
trs2 = soup.select('#contents > div.cnt > div.cnt_section.mt50 > div > div > div:nth-child(3) > ul > li')

for tr in trs:
    print(tr.text)

for tr2 in trs2:
    print(tr2.text)




오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴