한번에 2가지 아이템을 가져오려면 어떻게 해야하나요?
321
12 câu hỏi đã được viết
강의를 보고 한번에 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 구문을 사용했을때는 작동하지 않았는데 이 또한 뭐가 문제인지 설명좀 부탁드립니다 ㅠㅠ
Câu trả lời 2
0
안녕하세요.
강의 내에서 나온 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


