파이썬 클롤링 질문드립니다.
조회수 504회
크롤링을 하고 싶어서 파이썬을 처음 만져봤는데 https://www.youtube.com/watch?v=aYdNm27HvLA 이 동영상을 따라하고 있었습니다. 슬릭딜에서 제품 검색하면 나오는 이미지, 가격, 링크의 결과들을 클롤링하는 것인데 동영상에서는 이미지 검색을 하면 검색 페이지에 이미지가 다 존재하는데 제가 지금 따라하고 있는 현재는 슬릭딜에서 검색을 진행하면 중간중간 이미지가 빈 곳이 있어서 인덱스 에러가 납니다.
이런식으로요...
코드는 현재
이런 식으로 짰습니다.
하고 싶은 결과는 검색되다가 이미지가 없으면 그냥 다음 줄로 넘어가는 것만 작동해도 좋겠습니다...
답변 부탁드립니다...
1 답변
-
위 문제는 이미지 목록이 비어 있기 때문에 발생하는 문제입니다.
다음 조건식으로 이미지 목록이 비어 있을 경우 스킵할 수 있습니다.
if image.select("img.lazyimg") == []: continue
해당 조건식을 적용한 전체 코드는 다음과 같습니다.
import requests from bs4 import BeautifulSoup keyword = "apple ipad" url = "https://slickdeals.net/newsearch.php?src=SearchBarV2&q={}&searcharea=deals&searchin=first".format(keyword) r = requests.get(url) bs = BeautifulSoup(r.content, "lxml") divs = bs.select("div.resultRow") for d in divs: image = d.select("div.dealImg > a")[0] if image.select("img.lazyimg") == []: # 추가된 부분 continue rimages = image.select("img.lazyimg")[0] image1 = rimages.get("data-original") if rimages is None: continue print(image1)
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력