목표
구글링을 하다가 gamanities.tistory.com/26의 블로그를 보고 참고를 했다.
스팀게임 데이터를 크롤링으로 데이터베이스에 저장하고
웹사이트를 통해 스팀게임정보와 유튜브api를 통해 관련 영상까지 긁어와서 보여주는 웹사이트를 보여준다.
진행사항
왼쪽 사이드바에 있는 카테고리를 webdriver를 통해 클릭해서 최고 인기 제품을 한개씩 클릭하고 데이터를 긁어온다.
하지만 성인게임일 경우 생년월일을 입력하는 페이지로 이동을 하게 된다.
#성인 게임 판정.
try:
driver.find_element(By.CLASS_NAME, "agegate_birthday_selector")
select = Select(driver.find_element_by_id("ageYear"))
select.select_by_visible_text("1997")
driver.find_element(By.XPATH, '//*[@id="app_agegate"]/div[1]/div[3]/a[1]').click()
except NoSuchElementException:
pass
이경우 try except로 예외처리를 시켜서 생년월일 페이지가 뜨지 않아도 pass시킨다. 그 이후 크롤링하는 하는 경우가 너무 빨라서 크롤링하는 과정에서 다음에 나오는 웹페이지 인식을 못하는 경우가 생겼다.
# 2초간 wait
time.sleep(2)
driver.find_element(By.CLASS_NAME, 'apphub_AppName')
2초동안 sleep를 해서 다음 웹페이지가 뜰때까지 대기하다가 다음 웹페이지 요소를 긁어오는지 체크하고 확인이 안된다면 NoSuchElementException이 떠서 멈추도록 find_element를 사용.
'Python > Flask' 카테고리의 다른 글
(flask) 나만의 단어장 만들기 (0) | 2021.05.10 |
---|---|
(프로젝트 진행)스팀 게임데이터 크롤링(3) (2) | 2021.05.04 |
(프로젝트 진행)스팀 게임데이터 크롤링(2) (0) | 2021.05.01 |
(프로젝트 진행)스프링부트 게시글 삭제 구현 (0) | 2021.03.29 |
(프로젝트 진행)스프링부트로 게시글 수정. (0) | 2021.03.28 |