44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
# 다음은 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 |