inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

title과 price의 매치가 안됩니다.

240

송진영

작성한 질문수 7

0

선생님 안녕하세요. 

선생님이 알려주신 코드대로 title과 price를 맞춰보려고 했지만 enumerate로 돌려보면 list에서 out of range라는 에러가 발생합니다.

그래서 지금은 이게 최선인데 제가 이상하게 짠 것인지 여쭙고 싶습니다.

# -*- coding: utf-8 -*-
import scrapy
from gmarket.items import GmarketItem

class GmSpider(scrapy.Spider):
    name = 'gm'
    allowed_domains = ['corners.gmarket.co.kr/Bestsellers']
    start_urls = ['http://corners.gmarket.co.kr/Bestsellers']

    def parse(selfresponse):
        titles = response.css('div.best-list > ul > li> a::text').getall()
        prices = response.css('div.item_price > div.s-price > strong > span > span::text').getall()
        
        item = GmarketItem()
        item['price'] = prices
        item['title'] = titles
        yield item

웹-크롤링 selenium scrapy

답변 1

0

잔재미코딩 DaveLee

안녕하세요. titles와 prices는 리스트로 데이터가 들어올 것이라서, 다음과 같이 각 리스트의 개별데이터를 빼내어 item으로 만들어줘야 합니다. 혹시라도 혹시라도 리스트에 대해 아직 익숙하지 않으시다면, 파이썬입문과 크롤링기초 부트캠프 [쉽게! 하지만, 견고한 자료로!] 강좌의 앞에 파이썬 70문제를 다시한번 스스로 풀어보셔도 좋을 것 같습니다. scrapy는 조금 중급이라서 파이썬이 익숙하지 않으면 어디가 잘못되엇는지 혼자서 판단하기가 어렵습니다.

감사합니다.!

for num, title in enumerate(titles):
doc = EcommerceItem()
doc['title'] = title
doc['price'] = prices[num].strip().replace("원", "").replace(",", "")
yield doc

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

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