AK몰 인기검색어 크롤링 XML

통합 검색창의 인기검색어 - AK MALL

AK MALL 몰은 애경그룹에서 운영하는 쇼핑몰입니다.

ak몰의 통합검색창에 커서를 올리면 위 그림과 같이 인기 검색어가 나옵니다.

개발자모드(F12)로 변경하고
Network탭으로 이동 후 Ctrl+F 로 'ck2351101'을 검색합니다.

PopwordAjax.do를 찾을 수 있습니다.
이 기능이 인기 검색어를 가져오는 역활을 하고 있습니다.


PopwordAjax.do 호출 시 리턴되는 데이터 입니다.(XML)
makeTime은 인기검색어를 만든시간으로 보입니다.
querycount는 검색된 횟수?
count는 모르겠네요.
updown은 U:상승 D:하락 C:유지 N:신규 같네요.

요청 파라메터는 아래 4개는 요청시에 같이 넣어주시면 됩니다.

1
2
3
4
target: popword
range: D
collection: AKM
datatype: xml



AK MALL 인기검색어 파이썬 크롤링

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import requests
import xml.etree.ElementTree as ET

headers = {'User-Agent': 'Mozilla/5.0'} 
timeout = 5
param={ "target" : "popword", "range" : "D", "collection" : "AKM" , "datatype" : "xml" }
res = requests.post("https://www.akmall.com/search/PopwordAjax.do",headers=headers, data=param, timeout=timeout)
print(res.status_code)
if res.status_code == 200:
    for node in ET.fromstring(res.text):
        print(node.get("id"),node.get("querycount"),  node.get("updown"), node.text)

ElementTree를 이용하여 쉽게 파싱이 가능합니다.

AK MALL의 순위, 조회수 , 상승/하락, 검색어를 가져올 수 있었습니다.

스케쥴을 이용하여 주기적으로 크롤링 하신다면
쇼핑몰 서버에서 프로그램 요청이 아닌 사람요청으로 판단하게
Header를 넣어주셔야 합니다.

requests 사용법
ElementTree 정리 및 사용법 XML


TAG: #ElementTree #get #find #requests #crawling #akmall #인기검색어