• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

ori_price와 dis_price 대체문제

20.03.08 15:51 작성 조회수 109

0

    def parse_main_category(selfresponse):
        print('Parse_main_category', response.meta['maincategory_name'])

        best_items = response.css('div.best-list')
        for index, item in enumerate(best_items[1].css('li')):
            title = item.css('a.itemname::text').get()
            ori_price = item.css('div.o-price::text').get()
            dis_price = item.css('div.s-price strong span span::text').get()
            dis_percent = item.css('div.s-price em::text').get()

            if ori_price == None:
                ori_price = dis_price
            ori_price = ori_price.replace(',''').replace('원''')
            dis_price = dis_price.replace(',''').replace('원''')
            if dis_percent == None:
                dis_percent = '0%'

            print(title, ori_price, dis_price, dis_percent)

선생님 다음과 같이 코드를 입력하면 

[디키즈](광주신세계)디키즈 여름이월특가상품 (DMQ2UTST)  15200 15200 20%

매니몰/M-3XL 남여공용/맨투맨/기모후드집업 12900 12900 70%

[미센스]봄 시즌오프 ~92%세일 + 최대20%쿠폰 14900 14900 59%

이런 식으로 ori_price와 dis_price의 가격차이가 나질 않는데 어떻게 해야 해결할 수 있을지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 일단 알려주셔서 감사합니다.!

최근에 또 해당 사이트의 관련 태그가 조금 바꼈더라구요.

그래서 기존 코드에서는 ori_price 가 가격을 가져올 수 없어서, None 이되고, 바로 다음 코드에 걸려서, ori_price와 dis_price가 동일하게 되었습니다.

if ori_price == None:

    ori_price = dis_price

ori_price를 다음과 같이 수정하면 정상 동작함을 확인했습니다.

ori_price = item.css('div.o-price span span::text').get()

위와 같이 gmarket_category_all.py 파일을 수정해서, 다음과 같이 실행하면 정상동작하도록 테스트 코드도 관련 영상에 금일중에 바로 재업로드하겠습니다. 아무쪼록 도움이 많이 되시면 좋겠습니다.!

scrapy crawl gmarket_category_all -o gmarket.csv -t csv