빅데이터 분석가 양성과정/Python

Web Crawling - 옷 쇼핑몰

황규진 2024. 7. 9. 10:12

 

 

소녀나라 - 아우터

디자인하는 즐거움, 아키랩. 우리의 실험실은 아무것도 없는 곳에 무언가를 넣어 시간과 공간을 만드는 즐거움입니다. 오늘 하루 열지 않기 닫기

sonyunara.com

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/shop/list.php?page=1&cate=0104&limit=60>')
soup = BeautifulSoup(result.content, 'html.parser')

 

상품 이름 가져오기

names = soup.findAll('div',{'class':'subject'})

names[0].find('a')

<a href="/shop/view.php?index_no=460853">[SET] 모던 자켓 스커트 투피스 셋업</a>

print(len(names))
print(names)

for name in names:
    print(name.find('a').text)

[SET] 에디트 싱글 트렌치 스트랩 롱코트 (하트단추!)토피 트위드 반팔 자켓 린더 배색 하프 슬리브 트위드 자켓 여리무드 가득♥ 썸머 린넨 니트 가디건 셋업 자켓 플리츠 스커트 세트 로나 셔링 크롭 벌룬 퍼프 숏자켓 [단독특가/자체제작]프리미엄 빵빵숏패딩(9colors!) 에딘 박시핏 바스락 하이넥 윈드브레이커 퍼미션 투포켓 데님 자켓 그랑데 배색 투웨이 바시티 자켓

 

상품 가격 가져오기

products = soup.findAll('div',{'class':'item-content'})

products[0].findAll('div', {'class':'info'})

[<div class="info"> <div class="pull-left"></div> </div>, <div class="info"> <div class="pull-left"> <span>23<em>%</em></span> <span>40,900</span> </div> </div>]

div_tags = products[0].findAll('div',{'class':'info'}) # info가 두개
div_tags[1].findAll('span')  #두번째거니까 [1]

[<span>23<em>%</em></span>, <span>40,900</span>]

div_tags[1].findAll('span')[1].text

40,900

price = div_tags[1].findAll('span')[1].text
int(price.replace(',', ''))

40900

 

상품 이름/가격 한번에 가져오기

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/shop/list.php?page=1&cate=0104&limit=60>')
soup = BeautifulSoup(result.content, 'html.parser')

for product in products:
    print(product.find('div',{'class':'subject'}).find('a').text, end=':')
    print(product.findAll('div',{'class':'info'})[1].findAll('span')[1].text)

[단독특가/자체제작]프리미엄 빵빵숏패딩(9colors!):51,800

에딘 박시핏 바스락 하이넥 윈드브레이커:34,400

퍼미션 투포켓 데님 자켓:29,800

그랑데 배색 투웨이 바시티 자켓:51,800

 

아우터 페이지 메뉴 글 추출

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/shop/list.php?cate=0104>')
soup = BeautifulSoup(result.content, 'html.parser')

cate = soup.find('ul',{'class':'tabmenu'})

li_tags = cate.findAll('li')

for c in li_tags:
    print(c.find('a').text)

All

가디건

자켓

베스트

코트

집업.점퍼

플리스

패딩

 

메인 페이지 menu 가져오기

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/>')
soup = BeautifulSoup(result.content, 'html.parser')

li_tags = soup.select('nav#gnb > ul.menu > li > a ')
for li_tag in li_tags:
    print(li_tag.text)

베스트

아우터

상의

셔츠/블라우스

트레이닝

베이직

원피스

스커트

팬츠

가방

신발

액세서리

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/>')
soup = BeautifulSoup(result.content, 'html.parser')

li_tags = soup.select('#gnb > ul.menu > li ')
for li_tag in li_tags:
    l = li_tag.select_one('li:nth-child(n)>a')
    print(l.text)

베스트

아우터

상의

셔츠/블라우스

트레이닝

베이직

원피스

스커트

팬츠

가방

신발

액세서리

 

import requests
from bs4 import BeautifulSoup

result = requests.get('<https://sonyunara.com/>')
soup = BeautifulSoup(result.content, 'html.parser')

li_tags = soup.select('#gnb > ul.menu > li ')
for li_tag in li_tags:
    l = li_tag.find('a')
    print(l.text)

베스트

아우터

상의

셔츠/블라우스

트레이닝

베이직

원피스

스커트

팬츠

가방

신발

액세서리