미해결
쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
한번에 2가지 아이템을 가져오려면 어떻게 해야하나요?
강의를 보고 한번에 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 구문을 사용했을때는 작동하지 않았는데 이 또한 뭐가 문제인지 설명좀 부탁드립니다 ㅠㅠ