로드해야 추가로 나타나는 제품들은 어떻게 크롤링 하나요?
392
작성한 질문수 1
안녕하세요:)
질문 드립니다.
www.abc.com/shoes
라는 카테고리에 제품이 100개가 들어 있다고 가정하고
처음에는 브라우저상에 20개만 보여주고, 이후 스크롤 하면 20개씩 추가로 제품이 나타납니다. 제품이 스크롤해서 나타나도 페이지 url은 동일하게 유지됩니다. 이런 경우에 브라우저상에 보이는 제품 20개 말고 제품을 100까지 끌어오는 방법이 궁금합니다.
답변 2
0
빠른 답변 정말 감사합니다:)
아래 사이트가 스크롤하면 제품이 추가 되는 방식이고요, 해당 페이지도 말씀하신 방법을 배우고 해야 하는건지 아니면 다른 간단한 방법이 있는건지가 궁금하네요:)
import requests
from bs4 import BeautifulSoup
res = requests.get("https://www.converse.co.kr/category/shoes")
soup = BeautifulSoup(res.content, "html.parser")
data = soup.select("div.product-tile-details")
prd_list = list()
for index, item in enumerate(data):
data2 = item.select_one('a.text-link').get_text()
data3 = item.select_one('span.sale').get_text()
data4 = "https://www.converse.co.kr" + item.select_one('a.text-link')['href']
res2 = requests.get(data4)
soup2 = BeautifulSoup(res2.content, 'html.parser')
modelinfo = soup2.select_one('span.product-id')
prd_list.append([index + 1,data2,data3,modelinfo.get_text()])
import openpyxl
excel_file = openpyxl.Workbook()
excel_sheet = excel_file.active
excel_sheet.append(["no","상품명","가격","모데명"])
for i in prd_list:
excel_sheet.append(i)
excel_file.save('converse.xlsx')
excel_file.close()
감사합니다^^
0
안녕하세요. 웹페이지를 구현하는 다양한 기술이 있고, 이 중에 말씀하신 기술은 SPA (Single Page Application) 라는 기술이예요. 단일 주소에서 모든 내용이 표시되는 것인데요. 스크롤하면서 표현되는 부분들은 동적으로 데이터가 웹페이지에 붙여지게 되요. 이 부분을 동적 페이지라고 하는데요. 이 부분은 사실 쉽지 않아요. 왜냐하면 각 웹페이지마다 해당 페이지에 맞게 크롤링을 해야해서, 어느 특정한 패턴 코드를 만들 수도 없거든요.
동적 웹페이지는 selenium 기술을 사용해야 해요. 이외에도 몇 가지 기술이 있는데, 여러 테스트를 해봤을 때, 이 기술이 그나마 가장 안정성이 있었고요. 다음 강의에서 동적 페이지를 크롤링하는 기술에 대해 강의를 진행하고 있습니다. 다만 중급 강의예요.
IT 기술에 대해 강의를 오픈할 때는 모두들 누구나~ 할 수 있다고 이야기하지만, 분명 단계가 있어요. 파이썬 입문과 크롤링 기초 부트캠프 강의 내용을 어느 정도 익히고 활용할 수 있는 수준이 되어야, 다음 기술을 익힐 수 있어요. 이 부분은 예전에 저처럼 시행착오를 하시지 않도록 말씀드려요. 감사합니다.
크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요
0
33
1
정규표현식 및 여러 코드 꼭 외워야 하나요?
0
39
1
리스트 함수형도 정수 데이터 받을 수 있나요?
0
45
1
크롤링 관련 질문
0
64
1
문제 답이 없는 버전은 없나요?
0
74
1
requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.
0
83
1
업데이트 강의
0
97
2
선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?
0
123
2
연습용 예제 파일
0
76
1
lxml 관련 오류
0
106
1
SAVE Request 창 띄우는 법
0
92
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2
0
75
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.
0
97
1
예제 2, 4, 6에 대한 풀이 방식 질문.
0
89
1
문제 파일
0
78
1
pdf 파일 내 코드 복붙시 공백
0
291
1
데이터 저장 강좌 문의 건
0
95
1
" " 와 ' '의 차이를 알고 싶습니다
0
243
1
Exercise 22. 문자열 다루기 (strip)
0
132
1
list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?
0
187
1
셀 삽입후 바로 기입이 가능합니까?
0
139
2
주피터 노트북 마우스 스크롤? 오류
0
1550
2
등호 2개('==')의 의미가 뭐죠?
0
460
2
페이지가 넘어갈 때 url 변하지 않는 경우
0
266
1





