웹 스크래핑 질문있습니다!!

조회수 712회

! 해결했습니다 !

일단 두 개의 사이트 제품을 스크래핑 했는데요! 근데 한 사이트는 너무 잘되는데 다른 사이트는 안돼서 질문하게 되었습니다!


import csv
import requests
import re
from bs4 import BeautifulSoup

url = "https://pleatsmama.com/shop-knitpleatsbag-all?page="

filename = "apparel2.csv"
f = open(filename, "w",encoding="utf-8-sig",newline="")
writer = csv.writer(f)

title = "name,price,img,link".split(",")
writer.writerow(title)

for page in range(1,8):
    res = requests.get(url+str(page))
    soup = BeautifulSoup(res.text,"lxml")

    items = soup.find_all("div", attrs = {"class":"item-wrap"})

    for item in items:
        name = item.find("h2").get_text() #제품 이름
        price = item.find("p", attrs = {"class":"pay no-margin"}).get_text() #가격
        img = item.find("img",attrs ={"class":"_org_img org_img _lazy_img"})['src'] #이미지
        link_href = item.find("a", attrs={"class":"_fade_link"})["href"] #판매 링크
        link = "https://pleatsmama.com"+link_href
        data = [name, price, img, link]
        #print(data)
        writer.writerow(data)

같은 코드로 다른 사이트 url만 변경했을 때는 잘 출력해냈는데 이 사이트 제품은 첫 번째 페이지만 반복해서 데이터를 가져오더라구요... 어떻게 해야할지 감이 안와서 질문하게 되었습니다!

  • selenium으로 해결했습니다!! 자바스크립트로 구현되어있어서 셀리니움으로 페이지를 컨트롤해서 스크래핑했습니다!! hyunjungjeon 2021.5.2 02:21

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)