python_apps/crwlers/daum_get.py
2023-11-03 14:49:12 +09:00

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