2021.09.11 - [Python/Crawling] - 특정 상품 가격 크롤링(+추가 기능)
2021.09.12 - [Python/Crawling] - 특정 상품 가격 크롤링(+추가 기능) 이후 궁금증
list index out of range 오류가 뜬 이유
가끔씩 웹페이지 상단에 '광고'가 뜨는데 광고가 떴을 때,
product = soup.select("div.name")
을 하게 되면, '광고'까지 크롤링이 되어버린다.
그러다보니, 광고까지도 크롤링이 되면, product는 37개가 수집됐는데, price는 36개라서
list index out of range 에러가 뜬 것이었다.
css 선택자를 더 자세히 작성해주면 광고를 걸러낼 수 있지만 광고에서 최저가가 나오는 경우가 있기 때문에
살짝(?)만 자세히 적어 에러는 뜨지 않고 광고는 뜨게끔 작성했다.
product = soup.select("div.descriptions-inner > div.name")
* 기존에 작성했던 글에서도 위 코드로 수정 완료했다.
for 문을 상품명, 가격, 링크를 같이 돌리기
기존에는 상품명을 가지고 for문을 돌렸는데
상품명, 가격, 링크가 포함되는 범위가 큰 css 선택자를 작성한 변수 full을 이용하여 for문을 돌렸다.
.text와 .string 차이
요소의 '내용'으로 또다른 요소가 들어가 있는 경우
.string을 썼을 때에 에러가 나거나, 혹은 None이 출력
text 를 쓰게 되면, 요소의 '내용'으로 또다른 요소가 들어가 있는 경우에도, 요소의 내용 중 '문자열'만 출력
→ .text 로만 사용해도 무방
라인 단톡방_ 최종 알림 봇
해당 파일이 오류 없이 실행되는 것을 보고 api를 이용해 작성했다.
4,000원대가 나오면 해당 상품 상세페이지 링크로 이동


'Python > Crawling' 카테고리의 다른 글
| 쿠팡 최저가 봇 - 작업 스케줄러 (0) | 2022.01.04 |
|---|---|
| bs4 와 selenium (0) | 2021.11.28 |
| 특정 상품 가격 크롤링(+추가 기능) 이후 궁금증 (0) | 2021.09.12 |
| 특정 상품 가격 크롤링(+추가 기능) (0) | 2021.09.11 |
| 쿠팡 _ 특정 상품 가격 크롤링(BeautifulSoup) (0) | 2021.09.10 |