DevKim

[Requests & BeautifulSoup] 카카오 쇼핑하기 핫딜 상품 스크래핑 본문

데이터 수집 [ Web crawling ]

[Requests & BeautifulSoup] 카카오 쇼핑하기 핫딜 상품 스크래핑

on_doing 2020. 9. 7. 21:57
728x90

url: https://shoppinghow.kakao.com/siso/p/hotdeal/list/

 

대한민국 최저가 가격비교 쇼핑! 쇼핑하우 by kakaocommerce

쇼핑하우 by kakaocommerce는 대한민국 온라인 쇼핑몰들의 상품 정보를 모두 모아 한번에 가격비교가 가능한, 최저가 가격비교 서비스 입니다.

shoppinghow.kakao.com

핫딜 상품의 이름과 금액을 가져오자

 

* 핫딜은 매 시간 정보가 변경되는 동적 페이지임을 고려해야한다.

따라서 네트워크 탭에서 검색해서 찾고싶은 키워드를 검색하여 해당 network 정보를 따로 알아야한다.

import requests
from bs4 import BeautifulSoup

url=' https://shoppinghow.kakao.com/siso/p/api/hotdeal/list?contentseq=&_=1598955281618'

headers={
    
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
    'Connection': 'keep-alive',
    'Cookie': 'webid=1db1f8d2a02b4f60b37e5c103ad78738; kuid=492300417166737409; _TI_NID=iok9mjEFfnWoNqMjDA5hhQAYnt9WyITLaqF/O+bKepgHMV9jrZRa01Qze1v5GW8K6MbrA2gvk8zX55M1xMGmrw==; _kadu=2FU3BC0HfngA0qwV_1589781930846; webid_ts=1586478229980; TIARA=M.CEFlEPzYaqoAGysqDSx4V5ExEqsuVIe1XkZMRcg8rOJ9e13POipsHtEwFSChud7i-xkuEDS3Scl4YNvAVWW_t.bKwgfDdA',
    'Host': 'shoppinghow.kakao.com',
    'Referer': 'https://shoppinghow.kakao.com/siso/p/hotdeal/list/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest'

}

res=requests.get(url,headers=headers)

res.json()

가끔 똑같이 했는데 크롤링이 안되거나, 빈 리스트가 출력되는 경우가 있다

그럴땐 header 정보를 가져와서 dic 형태로 변환하여 전달해주어야 합니다.

*때에 따라서 필요한 header 정보가 다르므로,, 저는 그냥 다 가져온답니다

 

출력된 결과

그럼 이제 마지막으로 json 모듈을 사용하여 문자열 형태를 dic 형태로 바꿔주고, 슬라이싱을 통해 원하는 데이터를 출력해줍니다.

result=res.json()
print(result['todayList'][0]['title'])
print(result['todayList'][0]['minPrice'])

 

728x90
Comments