Naver_API를 이용한 검색기(json)
import requests
책 검색 함수
def py_xml_proc_book(resp):
book = resp.json()
book_all = book['items']
for book_one in book_all:
title_b = book_one['title']
title = title_b.replace('<b>','').replace('</b>','')
price = book_one['price']
discount = book_one['discount']
print('* Title : {}'.format(title))
print('* Price : {}'.format(price))
print('* Discount : {}'.format(discount))
print('*'*50)
블로그 검색 함수
def py_xml_proc_blog(resp):
blog = resp.json()
blog_all = blog['items']
for blog_one in blog_all:
blog_b = blog_one['title']
blog = blog_b.replace('<','').replace('>','')
bloggername = blog_one['bloggername']
bloggerlink = blog_one['bloggerlink']
print('* Title : {}'.format(title))
print('* bloggername : {}'.format(bloggername))
print('* bloggerlink : {}'.format(bloggerlink))
print('*'*50)
뉴스 검색 함수
def py_xml_proc_news(resp):
news = resp.json()
news_all = news['items']
for news_one in news_all:
news_b = news_one['title']
title = news_b.replace('&','').replace('quot;','')
originallink = news_one['originallink']
link = news_one['link']
print('* Title : {}'.format(title))
print('* originallink : {}'.format(originallink))
print('* link : {}'.format(link))
print('*'*50)
쇼핑 검색 함수
def py_xml_proc_shop(resp):
shop = resp.json()
shop_all = shop['items']
for shop_one in shop_all:
shop_b = shop_one['title']
title = shop_b.replace('<','').replace('b>','').replace('<b>','').replace('</b>','')
productType = shop_one['productType']
if productType == '1' or productType == '2' or productType == '3':
productType = '일반상품'
elif productType == '4' or productType == '5' or productType == '6':
productType = '중고상품'
elif productType == '7' or productType == '8' or productType == '9':
productType = '단종상품'
else:
productType = '판매예정상품'
maker = shop_one['maker']
brand = shop_one['brand']
lprice = shop_one['lprice']
hprice = shop_one['hprice']
print('* Title : {}'.format(title))
print('* productType : {}'.format(productType))
print('* maker : {}'.format(maker))
print('* brand : {}'.format(brand))
print('* lprice : {}'.format(lprice))
print('* hprice : {}'.format(hprice))
print('*'*50)
def naver_search_json(number, query, display, start, sort):
search_kind = ['book', 'blog', 'news', 'shop']
client_id = '__user id__'
client_secret = '__user secret__'
url = 'https://openapi.naver.com/v1/search/{}.json'.format(search_kind[number-1])
params = {'query':query, 'display':display, 'start':start, 'sort':sort}
headers = {
'X-Naver-Client-Id':client_id, 'X-Naver-Client-Secret':client_secret
}
response = requests.get(url, headers=headers, params=params)
# 항목 추가되면 elif문 추가 할 것
if response.status_code == 200 and number == 1:
py_xml_proc_book(response)
elif response.status_code == 200 and number == 2:
py_xml_proc_blog(response)
elif response.status_code == 200 and number == 3:
py_xml_proc_news(response)
elif response.status_code == 200 and number == 4:
py_xml_proc_shop(response)
else:
print(response.status_code)
def app():
prompt = '''
1. Book Search
2. Blog Search
3. News Search
4. Shopping Search
5. Quit
'''
number = 0
while True:
print(prompt)
number = int(input())
if number == 5:
print('안녕히가세요.')
break
query = input('검색어를 넣으세요 >')
display = 10
start = 1
sort = 'date'
naver_search_json(number, query, display, start, sort)
app()
1. Book Search
2. Blog Search
3. News Search
4. Shopping Search
5. Quit
1
검색어를 넣으세요 >python
Step by Step 파이썬 비즈니스 통계분석 32000 28800
**************************************************
The Definitive Guide to Masonite: Building Web Applications with Python 58880
**************************************************
Pythonハッカ-ガイドブック (達人が敎えるデプロイ,スケ-ラビリティ,テストのコツ) 42270 41910
**************************************************
仕事を自動化する!Python入門講座 33880 33590
**************************************************
Pythonによるアルゴリズムとデ-タ構 40060 40060
**************************************************
딥러닝 머신러닝을 위한 파이썬 넘파이 (선형대수를 파이썬으로 이해하기) 35000 31500
**************************************************
Tello Edu 드론코딩 A to Z 18000 16200
**************************************************
비즈니스 머신러닝 in 파이썬(Step by Step) 32000 28800
**************************************************
나만의 스마트워크 환경 만들기 (파이썬으로 만드는 업무 자동화 프로그램) 27500 24750
**************************************************
まんが版 こんにちはPython 23110 23110
**************************************************
1. Book Search
2. Blog Search
3. News Search
4. Shopping Search
5. Quit
4
검색어를 넣으세요 >러닝화
아디다스 여성 리스폰스 수퍼 런닝화(FX4835) 일반상품 아디다스 67940 0
**************************************************
아키클래식 [아키클래식] 운동화 고스트 화이트핑크 AKAHAUW0909 어글리슈즈 키높이운동화 일반상품 아키클래식 49210 0
**************************************************
데상트 데상트운동화 데상트신발 공용 몬스터랩 2종 택1 S9129LCR15 일반상품 데상트코리아 데상트 134830 0
**************************************************
데상트 데상트운동화 데상트신발 공용 에너자이트 5종 택1 S9129RRN34 일반상품 데상트코리아 데상트 146560 0
**************************************************
데상트골프 [데상트 골프] 데상트운동화 데상트신발 공용 리퀴드 와이어 3종 택1 S9129RRN15 일반상품 데상트골프 114040 0
**************************************************
나이키 나이키/아동운동화/에어맥스 엑시스 GS (AH5222-001)N 일반상품 나이키 나이키 73040 0
**************************************************
아디다스 아디다스 듀라모 SL FV8787 일반상품 아디다스 66930 0
**************************************************
데상트골프 [데상트 골프] 데상트운동화 데상트신발 공용 시티 점프 3종 택1 S9129LCR21 일반상품 데상트골프 83660 0
**************************************************
아디다스 아디다스 애즈위런 2.0 런닝화 FW1691 일반상품 아디다스 아디다스 57230 0
**************************************************
데상트골프 [데상트 골프] 데상트운동화 데상트신발 공용 쉘레타 2.0 3종 택1 S9229ECR41 일반상품 데상트골프 73040 0
**************************************************
1. Book Search
2. Blog Search
3. News Search
4. Shopping Search
5. Quit
5
안녕히가세요.