def search_api(cls, keyword): trans_papago_key = SystemModelSetting.get_list('trans_papago_key') for tmp in trans_papago_key: client_id, client_secret = tmp.split(',') try: if client_id == '' or client_id is None or client_secret == '' or client_secret is None: return text url = "https://openapi.naver.com/v1/search/movie.json?query=%s&display=100" % py_urllib.quote( str(keyword)) requesturl = py_urllib2.Request(url) requesturl.add_header("X-Naver-Client-Id", client_id) requesturl.add_header("X-Naver-Client-Secret", client_secret) #response = py_urllib2.urlopen(requesturl, data = data.encode("utf-8")) response = py_urllib2.urlopen(requesturl) if sys.version_info[0] == 2: data = json.load(response, encoding='utf8') else: data = json.load(response) rescode = response.getcode() if rescode == 200: return data else: continue except Exception as exception: logger.error('Exception:%s', exception) logger.error(traceback.format_exc())
def search_api(cls, titl, auth, cont, isbn, publ): logger.debug(f"책 검색 : [{titl}] [{auth}] ") trans_papago_key = SystemModelSetting.get_list('trans_papago_key') for tmp in trans_papago_key: client_id, client_secret = tmp.split(',') try: if client_id == '' or client_id is None or client_secret == '' or client_secret is None: return text #url = "https://openapi.naver.com/v1/search/book.json?query=%s&display=100" % py_urllib.quote(str(keyword)) url = f"https://openapi.naver.com/v1/search/book_adv.xml?display=100" if titl != '': url += f"&d_titl={py_urllib.quote(str(titl))}" if auth != '': url += f"&d_auth={py_urllib.quote(str(auth))}" if cont != '': url += f"&d_cont={py_urllib.quote(str(cont))}" if isbn != '': url += f"&d_isbn={py_urllib.quote(str(isbn))}" if publ != '': url += f"&d_publ={py_urllib.quote(str(publ))}" requesturl = py_urllib2.Request(url) requesturl.add_header("X-Naver-Client-Id", client_id) requesturl.add_header("X-Naver-Client-Secret", client_secret) #response = py_urllib2.urlopen(requesturl, data = data.encode("utf-8")) response = py_urllib2.urlopen(requesturl) data = response.read() data = json.loads(json.dumps(xmltodict.parse(data))) #logger.warning(data) rescode = response.getcode() if rescode == 200: return data else: continue except Exception as exception: logger.error('Exception:%s', exception) logger.error(traceback.format_exc())