inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

강력/최신 크롤링 기술: Scrapy 로 css selector/xpath 사용하기

ori_price와 dis_price 대체문제

174

송진영

작성한 질문수 7

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의 가격차이가 나질 않는데 어떻게 해야 해결할 수 있을지 궁금합니다.

scrapy selenium 웹-크롤링

답변 1

0

잔재미코딩 DaveLee

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

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

그래서 기존 코드에서는 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

코딩을 잘 따라 한 것 같은데 오류가 발생하는 것 같습니다

0

626

1

scrapy를 jupyter 환경에서 할 수 있나요

0

361

1

[실전 크롤링: scrapy 크롤링 팁] 질문있습니다.

0

313

1

[실전 크롤링: 지마켓 크롤링하며, scrapy 실전 활용법 익히기1] 5분50초쯤 질문

0

221

1

[강력/최신 크롤링 기술: Scrapy 로 지마켓 크롤링하기1] 관련 질문

0

279

1

xml을 parsing할때 <을 &lt; 로 인식합니다.

0

335

1

pipelines.py에서 process_item내에서 print문이 작동을 하지 않네요 ㅠ

0

292

3

PhantomJS 문의

0

294

1

selenium 문의

0

329

1

브라우저 제어해서 크롤링하기 - 처음강의 마지막부분 문의

0

3004

1

on error 해결 방법 질문

0

356

1

[팁] 윈도우 cmd 커맨드

0

347

1

[팁]Chrome User Agent 아는법

0

328

1

실전 크롤링: 브라우저를 제어해서 트위터 사이트 로그인 하기 질문

0

254

1

동영상 강의 만드실 때 사용한 툴을 알려주실 수 있을까요?

0

237

1

CSS Selector 에서 질문이 있습니다.

0

435

2

pip install scrapy 오류

0

484

1

셀레니움 실행불가

0

1578

1

실전 크롤링: XPATH와 Selenium 활용해서 페이스북 로그인 하기 에서 질문이 있습니다.

0

227

1

언제 get_text()를 사용하고 또 언제 .text를 사용하나요?

0

288

1

강의교안자료 받을수있을까요?

0

263

1

[강의 9:27관련 질문] price, title 열 위치

0

160

1

div에 있는 클래스가 2개이면 어떻게 하나요?

0

368

1

css 셀렉터에 대해 질문이 있습니다.

0

147

1