인프런 커뮤니티 질문&답변

suki님의 프로필 이미지
suki

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

텍스트를 포함하는 태그 찾기 (feat.정규표현식)

광고상품 표기외에 상품명도 보려고 하는데요. 에러가나네요.

해결된 질문

작성

·

381

·

수정됨

1

광고상품 광고상품 표기외에 상품명도 보고자하는데요.

아래와 같이 에러가 납니다.

상품명도 보려면 어떻게 해야 할까요?

https://www.coupang.com//vp/products/7119405125?itemId=17821748239&vendorItemId=84985642101&sourceType=srp_product_ads&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1

<div class="name">디엑스 DX320QHD 32인치 QHD 75Hz IPS 고성능 게이밍 컴퓨터 모니터, DX320QHD(일반)</div>

Traceback (most recent call last):

line 45, in <module>

print(ad_name).text

AttributeError: 'NoneType' object has no attribute 'text'

print(ad_name).text에서 text를 빼고 실행시켜보았는데 다른 상품인데 아래와 같이 모두 상품명이 동일하게 나옵니다.

 

<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>

광고상품

https://www.coupang.com//vp/products/6070742312?itemId=11207404701&vendorItemId=78484994606&sourceType=srp_product_ads&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12

<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>

광고상품

https://www.coupang.com//vp/products/1955685399?itemId=3323143682&vendorItemId=71310006110&sourceType=srp_product_ads&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15

<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>

광고상품

 

for link in links:
        print(ad_name).text <-이부분 때문에 에러가 나는것 같습니다. 어떻게 표기를 해야 할까요?

답변 1

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요. 수강생님.

스타트코딩입니다.

 

- print(ad_name).text 는 잘못된 파이썬 문법입니다.

print(데이터) 에서 명령어가 끝나요

 

- ad_name은 객체로 객체 안에 있는 속성은 ad_name.text 로 가져올 수 있습니다.

(클래스와 객체에 대한 학습은 아래 강의를 참고해 보세요)

https://www.inflearn.com/course/%EC%BD%94%EB%94%A9-%EC%9E%85%EB%AC%B8%EC%9E%90-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88

 

- soup.select_one(".name") 이 아니라 link.select_one(".name") 을 해줘야 합니다

 

 

suki님의 프로필 이미지
suki

작성한 질문수

질문하기