728x90

Python 12

의문점 해결(최저가 알림 봇 만들기_최종)

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 선택자를 더 자세히 작성해주면 광고를 걸러낼 수 있지만 광고에서 최저가가 나오는 경우가 있기 때문에 살짝(..

Python/Crawling 2021.09.15

특정 상품 가격 크롤링(+추가 기능) 이후 궁금증

이전 글 >> 특정 상품 가격 크롤링(+추가 기능) 모든 페이지를 크롤링 하고 4000원대는 링크를 추가하게 했는데 링크를 가져오는 부분에서 상품명이랑 가격이랑 같이 가져오고 싶은데 방법을 잘 몰라서 따로따로 가져와서 크롤링을 했다. 같이 for문을 이용해서 사용하는 방법은 없을까? if len(price[a].text) == 5: 를 사용하는 코드가 자꾸 list index out of range 오류가 뜨고 for i in range(len(product)): 를 사용해서 list index out of range가 떠서 try~except구문을 활용해서 오류를 뜨지않게 하고 실행은 되었는데 왜 이러한 오류가 생겼을까? print(product[a].string + "\n" + price[a].tex..

Python/Crawling 2021.09.12

특정 상품 가격 크롤링(+추가 기능)

추가한 기능 - 모든 페이지 크롤링 - 쿠팡 링크 삭제 - 4,000원대에 해당하는 상품 url 출력시키기 모든 페이지 크롤링 page_num = 1 while True : code = requests.get("https://www.coupang.com/np/search?q=%EC%98%A4%EA%B7%B8%EB%9E%98%EB%86%80%EB%9D%BC%ED%8C%9D&channel=recent&component=&eventCategory=SRP&trcid=&traid=&sorter=scoreDesc&minPrice=&maxPrice=&priceRange=&filterType=&listSize=36&filter=&isPriceRange=false&brand=&offerCondition=&rating=0..

Python/Crawling 2021.09.11

쿠팡 _ 특정 상품 가격 크롤링(BeautifulSoup)

selenium 대신 BeautifulSoup를 사용하게 된 이유 [Python/Crawling] - 쿠팡 _ 특정 상품 가격 크롤링(selenium) BeautifulSoup 튜터님에게 쿠팡 상품 크롤링 예시를 받고 이를 참고하여 작성했다. 엑셀은 필요없어서 주석처리 했다. import urllib.request as req from bs4 import BeautifulSoup import os import openpyxl import requests # if not os.path.exists("./쿠팡_크롤링.xlsx"): # openpyxl.Workbook().save("./쿠팡_크롤링.xlsx") # # book = openpyxl.load_workbook("./쿠팡_크롤링.xlsx") # she..

Python/Crawling 2021.09.10

쿠팡 _ 특정 상품 가격 크롤링(selenium)

쿠팡에서 상품을 검색하면 가격이 뜨는데 그 가격이 매일 달라진다. 이를 이용해 가격이 낮을 때를 확인하기 위해 크롤링했다. 해당 크롤링은 상품을 검색하고 나오는 첫 페이지만을 크롤링했다. selenium 처음에는 selenium으로 작성했었다. 가상선택자를 이용해서 css 선택자를 적었는데 실제로 실행해보면 적용이 되지 않았고 가상선택자를 이용해서 요소 검사를 해보면 실행이 되지 않았다. 가격이 낮을 때 상품을 구매하기 위해서 낮은 가격순으로 보게 한 다음 출력시키려고 했는데 css 선택자를 지정하는게 어려웠다. 그래서 대안으로 가격 범위를 지정해서 해당 상품만 크롤링하는 것으로 코드를 작성했는데 아래와 같은 화면이 계속 나오게 되었고 아래 코드를 사용하면 될 것이라는 글을 보아서 실행해 보았지만 여전히..

Python/Crawling 2021.09.09
728x90