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

bold님의 프로필 이미지
bold

작성한 질문수

[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

-------------------------------------------------------------------

item_code에 '&ver'라는 게 함께 크롤링됩니다

작성

·

159

0

강사님 안녕하세요

강의 잘 듣고 있습니다. 아래 사진처럼 item_code에 '&ver'라는 게 함께 크롤링됩니다.

그래서 item_code = item_code.get_text().replace('&ver', '')와 같은  형태로 '&ver'를 지워주려했더니

AttributeError: 'str' object has no attribute 'get_text'

위와 같은 에러가 발생했습니다. 에러가 의미하는 내용은 알겠습니다.

1. item_code를 str이 아닌 다른 속성으로 치환할 수 있는 방법이 있는지?

2. 아니면 애초에 '&ver'를 제외한 item_code만을 불러올 수 있는 방법이 궁금합니다.

고맙습니다.

답변 3

1

안녕하세요.

워낙 사이트가 실제 사이트다 보니, 일부 변경은 있을 수 있는데요. 현재까지는 그래도 정상 동작을 한 것인데요. 또 그런 데이터가 최근에 붙게끔 사이트가 변경이 된 것인지 살짝 걱정이네요.

우선은, 아주 잘 하셨는데요. 실력을 좀더 늘리기 위해, 해당 에러를 검색해보셔도 좀더 딱 이해하실 수 있으실텐데요. 에러가 str 은 get_text() 속성이 없다라는 것인데요. 그것은 item_code 는 BeautifulSoup 객체가 아니라, 문자열 변수라는 것을 눈치챌 수 있을 것 같아요. BeautifulSoup 객체라면, get_text() 를 통해, 문자열을 추출해야 하겠지만, 문자열 변수라면, 

item_code.replace('&ver', '') 이런식으로 써보시면 바로 될 것 같습니다.

이런 현상이 지속된다면, 또 새로운 문의로 남겨주시면, 저도 테스트 후에, 제공해드리는 자료의 코드도 업데이트하겠습니다.

잔재미코딩 Dave Lee 드림.

감사합니다.

0

크롤링 아이디어를 하나 더 배워 갑니다 :) 감사합니다. 잔재미코딩닝, Jack Cole님.

0

itme_code = 1950041119&var 이러한 형태로 현재 사이트에서 가져오게 되므로 split를 한번 더 사용해서 &로 나눈 후 가져오시면 정상 출력됩니다. 

현 날짜 기준 강의따라가는데 특이사항 없습니다. ^^

bold님의 프로필 이미지
bold

작성한 질문수

질문하기