inflearn logo
강의

Course

Instructor

Easy Python Advanced Crawling [Scrapy, Selenium, Headless Chrome]

Understanding Scrapy through practice problems

한번에 2가지 아이템을 가져오려면 어떻게 해야하나요?

321

kshssi

12 asked

0

강의를 보고 한번에 2가지 아이템(ex. 상품명, 가격) 을 가져오려고 여러번 시도해봤으나 계속 실패했습니다.

 

그러다 강의 내용중에 정확히 이해는 되지않으나 제가 크롤링하려는곳에 적용하니 작동하는 코드를 찾았습니다.

 

def parse(self, response):

        product_types = response.css(

            'section.recent-posts div.card-body > h2 > a::text').getall()

        product_names = response.css(

            'section.recent-posts div.card-body > h4::text').getall()

        for index, product_type in enumerate(product_types):

            item = MycrawlerItem()

            print(product_type)

            item['product_type'] = product_type.strip()

            item['product_name'] = product_names[index].strip()

            yield item

 

위의 코드를 사용해보니 한번에 2가지 아이템을 추출해서 저장할수있었습니다.

제가 형광펜으로 칠한부분의 코드가 어떤 역할을 하길래 가능한건지 좀 더 자세한 설명해주실수 있나요?

제가 개인적으로 생각했을때는 for 구문을 각가의 아이템에 작성하여 총 2번의 for 구문을 사용했을때는 작동하지 않았는데 이 또한 뭐가 문제인지 설명좀 부탁드립니다 ㅠㅠ

아이템 scrapy 스래피 동시에 bigdata selenium 2개 웹-크롤링

Answer 2

0

chjeong627

for title,title2 in zip(titles,titles2):

zip을 사용 하면  for문에 두 변수를 사용할 수 있습니다.

0

funcoding

안녕하세요.

강의 내에서 나온 enumerate 함수에 대한 사용법에 대해 문의하신 것인거죠? enumerate 는 인덱스(index)와 원소를 동시에 접근하면서 반복문을 돌릴 수 있는 함수입니다. 그래서, for 구문으로 리스트를 넣으면 각 아이템만 가져올 수 있지만, enumerate 로 리스트를 넣으면, 해당 아이템뿐만 아니라, 해당 아이템의 인덱스 번호를 가져올 수 있습니다.다음 링크로 for 구문과 enumerate 구문의 차이를 좀더 상세히 참고하실 수도 있으실 것 같아요.

https://www.daleseo.com/python-enumerate/

감사합니다.

[REST API] data의 교환방식 질문

1

668

1

headless chrome 오류 문의

0

1488

1

Selenium 처리 속도 관련 문의드립니다.

0

1958

1

동적 웹사이트에서 element가 선택되지 않는 문제에 관해 질문드립니다

0

687

1

webdriver manager

0

441

1

__init__() got an unexpected keyword argument 'service' 에러 질문드립니다.

1

11715

1

Jupiter NoteBook 파일과 PDF 파일은 어디서 다운로드 받을 수 있나요?

0

444

1

scrapy option질문

1

244

1

response.css 질문드립니다.

0

373

1

scrapy 크롤링 수행시 ffi.callback() 에러가 발생합니다

0

397

1

selenium으로 여러페이지 수집시 질문

0

381

1

연습6 모범 코드: 로그인 시나리오 해보기

0

275

1

셀레니움 문법 업그레이드 , find_element_by_tag_name 오류

3

2832

1

셀레니움 버전 변경으로 인한 코드 변경

0

1285

1

headless error

0

441

1

질문있습니다!

0

464

1

안녕하세요 선생님! 질문있습니다.

0

233

1

selenium&scrapy문의

0

282

1

아래분(phantele47)과 동일한 문제가 발생해서 문의드립니다.

0

911

6

ip 차단을 피하려면 어떻게 해야 하나요?

0

3371

2

start_urls = ['']가 제공해주신 것과 다르게 작동합니다.

1

288

2

json, data = json.loads(response.body_as_unicode()) 부분에 문제가 있는 것 같습니다.

0

604

3

웹크롤링이 상대방 서버에 부담이 될 때는 어떻게 하나요~?

0

686

1

scrapy 윈도우버전의 설명은 따로 없나요??

0

332

1