import os
import sys
import urllib.request
import pandas as pd
import json
import re
client_id = "ID넣기"
client_secret = "키값넣기"
query = urllib.parse.quote(input("검색 질의: "))
idx = 0
display = 100
start = 1
end = 1000
shop_df = pd.DataFrame(columns=("Title", "Link", "Image", "Low price", "High Price", "Mall Name", "Product Id", "Product Type", "Maker", "Brand"))
for start_index in range(start, end, display):
url = 'https://openapi.naver.com/v1/search/shop?query=' + query \
+ "&display=" + str(display) \
+ "&start=" + str(start_index)
request = urllib.request.Request(url)
request.add_header('X-Naver-Client-Id', "Hewe5vgmlLvWs_ubCDhs")
request.add_header('X-Naver-Client-Secret', "u8mu84aRwJ")
response = urllib.request.urlopen(request)
rescode = response.getcode ()
if (rescode==200) :
response_body = response.read()
response_dict = json.loads(response_body.decode('utf-8'))
items = response_dict['items']
for item_index in range(0, len(items)):
remove_tag = re.compile('<.*>?>')
title = re.sub(remove_tag, '', items[item_index]['title'])
link = items[item_index]['link']
image = items [item_index]['image']
low_price = items[item_index]['lprice']
high_price = items[item_index]['hprice']
mall_name = items[item_index]['mallName']
product_id = items[item_index]['productId']
product_type = items[item_index]['productType']
maker = items [item_index]['maker']
brand = items[item_index]['brand']
shop_df.loc[idx] = [title, link, image, low_price, high_price, mall_name, product_id, product_type, maker, brand]
idx += 1
else:
print("Error Code:" + rescode)
shop_df

최종본
import os
import sys
import urllib.request
import pandas as pd
import json
import re
client_id = "ID넣기"
client_secret = "key넣기"
queries = ['원피스','청바지','후드티', '트위드자켓', '티셔츠', '커플잠옷', '블라우스', '니트', '맨투맨','트렌치코트', '가디건', '반바지', '반팔티', '크롭자켓', '스커트']
idx = 0
display = 100
sort = 'dsc'
start = 1
end = 1000
shop_df = pd.DataFrame(columns=("Title", "Link", "Image", "Low price", "High Price", "Mall Name", "Product Id", "Product Type", "Maker", "Brand", "category1", "category2","category3","category4"))
for query in queries:
for start_index in range(start, end, display):
url = 'https://openapi.naver.com/v1/search/shop?query=' + urllib.parse.quote(query) \
+ "&display=" + str(display) \
+ "&start=" + str(start_index)
request = urllib.request.Request(url)
request.add_header('X-Naver-Client-Id', client_id)
request.add_header('X-Naver-Client-Secret', client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if (rescode == 200):
response_body = response.read()
response_dict = json.loads(response_body.decode('utf-8'))
items = response_dict['items']
for item_index in range(0, len(items)):
remove_tag = re.compile('<.*>?>')
title = re.sub(remove_tag, '', items[item_index]['title'])
link = items[item_index]['link']
image = items[item_index]['image']
low_price = items[item_index]['lprice']
high_price = items[item_index]['hprice']
mall_name = items[item_index]['mallName']
product_id = items[item_index]['productId']
product_type = items[item_index]['productType']
maker = items[item_index]['maker']
brand = items[item_index]['brand']
category1 = items[item_index]['category1']
category2 = items[item_index]['category2']
category3 = items[item_index]['category3']
category4 = items[item_index]['category4']
shop_df.loc[idx] = [title, link, image, low_price, high_price, mall_name, product_id, product_type, maker, brand, category1, category2, category3 , category4]
idx += 1
else:
print("Error Code:" + rescode)