ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Naver_API_JSON
    Python 2020. 6. 10. 11:43

    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('&lt;','').replace('&gt;','')
            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('&amp;','').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('&lt;','').replace('b&gt;','').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
    안녕히가세요.

    'Python' 카테고리의 다른 글

    Numpy 기본  (0) 2020.07.16
    OPEN_API를 사용하여 데이터 수집하기  (0) 2020.06.15
    Naver_API_XML  (0) 2020.06.10
    Open API_Naver  (0) 2020.06.10
    Selenium  (0) 2020.06.08
Designed by Tistory.