product_price = soup.selet_one("span.total-price>strong").text에서 'NoneType' object is not callable
394
eunjeong Joo
작성한 질문수 5
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
검색어는 usb허브였습니다. try except도 해봤는데 모든 상품 가격이 모두 0원으로 나옵니다.
개발자 도구에서 확인했는데 "span.total-price>strong"가 맞습니다. 전체 두개 밖에 없는게 맞구요.
어쩄든 오류가 나는데 해결방안이 보이지 않습니다.
답변 2
0
안녕하세요~!
데이터가 나와야 하는데, 안나오면 정말 당황 스럽죠 ㅎㅎ.
해당 코드를 전체를 확인할 수 없어서 이유를 파악하기 어렵네요.
제가 usb허브로 검색했을때는 잘 동작합니다.
아래 코드와 비교해서 확인해 보세요 :)
import requests
from bs4 import BeautifulSoup
main_url = "https://www.coupang.com/np/search?component=&q=usb%ED%97%88%EB%B8%8C&channel=user"
# 헤더에 User-Agent를 추가하지 않으면 오류가 나요 (멈춰버림)
response = requests.get(main_url, headers={'User-Agent' : 'Mozila/5.0'})
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.select("a.search-product-link") # select의 결과는 리스트 자료형
for link in links:
# 광고 상품 제거
if len(link.select("span.ad-badge-text")) > 0:
print("광고 상품 입니다.")
else:
sub_url = "https://www.coupang.com/" + link.attrs['href']
response = requests.get(sub_url, headers={'User-Agent' : 'Mozila/5.0'})
html = response.text
soup = BeautifulSoup(html, 'html.parser')
# 브랜드명은 있을 수도 있고, 없을 수도 있어요
# - 중고상품일 때는 태그가 달라져요
# try - except로 예외처리를 해줍니다
try:
brand_name = soup.select_one("a.prod-brand-name").text
except:
brand_name = ""
# 상품명
product_name = soup.select_one("h2.prod-buy-header__title").text
# 가격
product_price = soup.select_one("span.total-price > strong").text
print(brand_name, product_name, product_price)
셀레니움 환경설정 오류
0
47
2
네이버 로그인 관련
0
258
2
안녕하세요 셀레니움에 대해서 질문
0
85
1
크롤링 연습사이트 문의
0
96
2
선택자 질문
0
71
2
'특정 요소가 나타날 때까지 스크롤' 부분 에러
0
76
2
자동 로그인 질문
0
87
2
44강 제목, 링크
0
105
1
원하는 값이 없을 때
0
89
2
크롤링한 링크가 엑셀로 들어가면 작동이 안되요
0
227
2
셀레니움 PDF자료는 받을 수 있나요
0
100
2
글목록 추출하기
0
97
2
메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문
0
88
2
강의 노트가 어디에 있는건가요?
0
80
2
강의 커리큘럼 질문
0
98
1
조건문 else 사용하지 않는 이유
0
76
2
셀레니움으로 접근할 수 없는 경우
0
95
2
웹페이지 변경
0
70
2
자바스크립트로 태그 선택 시 질문입니다.
1
64
2
수료증은 어떻게 받나요?
0
120
2
class명을 활용하여 선택자를 만들지 않는 경우..?
0
61
2
드라이버가 안 열려요
0
79
2
이거 해결방법 아시는 분?
0
121
2
네이버 지식인 크롤링..
0
202
2





