전체 스터디
전체 스터디
  • 전체보기
  • 질문
  • 숙제
내 스터디
  • 스터디에 참여해보세요!
다른 스터디
  • 네이버 정복 파이썬 크롤링 (성수 월 19시)
    • 전체보기
    • 질문
    • 숙제
    • 잡담
  • 파이썬 기초 스터디
  • 네이버 정복 파이썬 크롤링
  • 페이스북 만드는 웹개발
  • 데이터사이언스 12시간 입문기
  • 파이썬 구글 Sheet 연동
  • 엑셀서당 - 훈장님의 기초 엑셀 트레이닝
  • 고전게임을 만들며 배우는 코딩의 기초
  • 내 업무를 거의 자동화하는 방법
  • SQL 입문 4시간
  • QR 코드 프로그래밍
  • 비전공자 개발지식 총정리
  • 초고속 퍼포먼스 마케터
  • 왓챠 함께 만들기
  • 퍼블리셔 초고속 입문기
  • 한국형 커뮤니티 만들기
  • airbnb 프론트엔드 카피 프로젝트
  • 워드프레스로 쿠팡 만들기
최도근 리더
네이버 정복 파이썬 크롤링
온라인
클래스 자세히 보기

크롤링 관련 질문입니다.

div.box > div.description > div.price와 같은 형태의 HTML구조에서 가격 정보를 크롤링하고 있는데요. 상품이 품절인 경우에 div.box > div.description > div.price에서 div.price는 사라지고 대신 div.soldout이 생겨서 구조가 div.box > div.description > div.soldout으로 변합니다.

if price is None: 
 countine

이런식으로 조건문을 써봤는데 작동하지 않네요. 이번 뿐만 아니라 이런 경우가 꽤 있어서 해결하고 싶습니다.

질문을 요약하면 beautifulsoup의 select로 특정 class를 찾는데 실패한 경우, 해당 변수에 특정 조건을 걸어주고 싶습니다. continue한다던가 아니면 특정 string을 강제로 넣어준다던가 하고 싶습니다.

어떻게 해야할까요?

최도근
8월 17일 10:38

1. try, except를 사용해볼 수 있습니다.
기본적으로 존재하지 않는 선택자를 검색하면 exception이 발생됩니다.

2. price.text를 얻어내셔서 내용물을 print로 살펴보세요. 해당 text 내용물을 기준으로 if를 해보실 수 있습니다.

if로든 try,except로든 어떻게든 상황을 걸러주어야 하고 그 후에 continue하거나 string을 강제하시면 됩니다.

좋아요 0
    유재원
    8월 18일 01:05

    try, except로 바로 해결했습니다. :) 늘 감사드립니다!

    좋아요 0
      참여자 네이버 정복 파이썬 크롤링