11번가 인기검색어 크롤링 - str
11번가 쇼핑몰 json 데이터 가져오기

2008년 11번가 오픈을 하고 2017년쯤 매각하려고 했었죠!!
매각철회(안팔려서?)하고 2018년에 한국의 아마존을 만들겠다고 했으나... 뉴스{:target="_blank")
requests로 페이지 전체를 읽어서,
bs4로 크롤링해도 되지만..
보통 인기검색어 랭킹은 ajax등으로 따로 구현해놓는 경우가 많습니다.
개발자모드(F12)로 Network를 뒤져보니
찾아보니 역시나 랭킹을 제공하는 url이 있습니다.
https://www.11st.co.kr/AutoCompleteAjaxAction.tmall?method=getKeywordRankJson&type=hot&isSSL=Y&rankCnt=20&callback=fetchSearchRanking
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Return 데이터는 json형태이지만 문자열이고, 20개의 랭킹을 불러오는 기능입니다.
keywordExtendInfo : 제품정보1
rankUlOpen : 상승/하락
keyword : 제품명
explanation : 제품정보
currentRank : 제품정보2
searchCount : 조회된 수
rankOrder : 랭크변화?
rankUlClose : 랭크변화아이콘??
pcSearchLink : 제품 검색 링크
top3 : top rank `위,2위, 3위 여부
requests 패키지 사용 인기검색어 가져오기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
결과:
fetchSearchRanking({"count":20,"items":[{"keywordExtendInfo":"0:198:ìì¼ì , 25%í ì¸ì¿ í°","rankUlOpe...
current encoding : ISO-8859-1
current encoding : utf-8
keywordExtendInfo : 0:198:십일절, 25%할인쿠폰
rankUlOpen : True
keyword : 드시모네
explanation : 십일절, 25%할인쿠폰
currentRank : 1
searchCount : 198
rankOrder : 0
rankUlClose : False
pcSearchLink : https://search.11st.co.kr/Search.tmall?kwd=%25EB%2593%259C%25EC%258B%259C%25EB%25AA%25A8%25EB%2584%25A4
top3 : top3
가져온 데이터가 한글이 다 깨져서 encoding 으로 확인하니 ISO-8859-1 였습니다.
utf8변환하니 한글이 잘 나왔습니다.
json.loads를 이용하기 위해서 문자열을
json형태로 잘라서 이용했습니다.
위메프나 ak몰이랑 다르게 11번가는 손이 많이 갑니다.
요청 파라메터
파라메터에 rankCnt=100 으로 넣으면 랭킹 100개 나오네요..ㅎㅎ