# 다음은 json API다. import requests, bs4, urllib, sys, re, json term = str(sys.argv[1]); query = urllib.parse.quote_plus(term) url = "http://shopping.daum.net/v2.0/product/search.json?page_size=80&view_type=list&image_filter_cnt=200&tab=total&q=" + query + "&page=1&cateid=&selectedId=&sort_type=1&option=&brand_loading=&addquery=&price_min=&price_max=&cp_loading=&shopgroup=&color_code=&prevcateid=&link=0&part=N&srchhow=&docid=&status=&ext_mileage_yn=&coupon=&discard=&point=&pcard=&used=&deli_no_pay=&thumbnail_filter=&brandcateid=&changecateid=&cc_type=search&subcateid=&_=1526012315328" r = requests.get(url) data = json.loads(r.content) status_code = data["code"] if status_code == '204' : print(term + "\t" + 'Not Found') else : res_count = data["searchList"]["total"] _lists = data["searchList"]["list"] num = 1 for i in range(len(_lists)) : productName = _lists[i]["name"] adOrNot = "" #다음쇼핑하우는 PC에서 광고가 없다. if len(_lists[i]["mallList"]) != 0 : itemType = '원부' #print(_lists[i]["mallList"]) malls = '' for j in range(len(_lists[i]["mallList"])) : malls = malls + "," + _lists[i]["mallList"][j]["name"] mallsText = re.sub(r"^\,","",malls) displayedMallCount = str(len(_lists[i]["mallList"])) else : itemType = '상품' mallsText = _lists[i]["cpName"] displayedMallCount = '1' priceText = str(_lists[i]["minPrice"]) categoryText = re.sub(r"\>\s$","",_lists[i]["cateid0Name"] + " > " + _lists[i]["cateid1Name"] + " > " + _lists[i]["cateid2Name"] + " > " + _lists[i]["cateid3Name"]) btnCompareText = str(_lists[i]["cpCount"]) reviewCount = str(_lists[i]["review"]["count"]) print(term + "\t" + str(res_count) + "\t" + str(num) + "\t" + adOrNot + "\t" + itemType + "\t" + productName + "\t" + priceText + "\t" + categoryText + "\t" + mallsText + "\t" + btnCompareText + "\t" + displayedMallCount + "\t" + reviewCount) num = num + 1