티스토리 뷰
라즈베리파이 LCD가 영어밖에 프린트가 안 되서 파파고로 번역기 돌리는 코드를 추가했다.
import csv
import drivers
# import I2C_LCD_driver
from time import sleep
import os
import sys
import urllib.request
import json
#naver api
CLIENT_ID = '북여기에 본인거'
CLIENT_SECRET = '북여기에본인거'
#LCD display
display = drivers.Lcd()
# display = I2C_LCD_driver.lcd()
#request
def search_book(query):
from urllib.request import Request, urlopen
from urllib.parse import urlencode, quote
import json
# request = Request('https://openapi.naver.com/v1/search/book?query='+quote(query))
#isbn
request = Request('https://openapi.naver.com/v1/search/book_adv?d_isbn='+quote(query))
request.add_header('X-Naver-Client-Id', CLIENT_ID)
request.add_header('X-Naver-Client-Secret', CLIENT_SECRET)
response = urlopen(request).read().decode('utf-8')
search_result = json.loads(response)
return search_result
def papago(book):
client_id = "파파고 본인거" # 개발자센터에서 발급받은 Client ID 값
client_secret = "파파고본인거" # 개발자센터에서 발급받은 Client Secret 값
encText = urllib.parse.quote(book)
data = "source=ko&target=en&text=" + encText
url = "https://openapi.naver.com/v1/papago/n2mt"
request1 = urllib.request.Request(url)
request1.add_header("X-Naver-Client-Id",client_id)
request1.add_header("X-Naver-Client-Secret",client_secret)
response1 = urllib.request.urlopen(request1, data=data.encode("utf-8"))
rescode = response1.getcode()
if(rescode==200):
response_body = response1.read()
#json 형 변환
res = json.loads(response_body.decode('utf-8'))
print(res['message']['result']['translatedText'])
return res['message']['result']['translatedText']
else:
print("Error Code:" + rescode)
if __name__ == "__main__":
#csv first line only
f = open('barcodes.csv', 'r', encoding='utf-8')
rdr = csv.reader(f)
for line in rdr:
#search
print(line[1])
books = search_book(line[1])['items']
#erro
if(books == None):
print("fail")
exit()
#print
for book in books:
print("title: " + book['title'])
print("price: "+book["price"]+"won")
title = book['title']
price = book["price"]+"won"
papares= papago(title)
try:
while True:
# Remember that your sentences can only be 16 characters long!
print("Writing to display")
display.lcd_display_string(papares, 1) # Write line of text to first line of display
display.lcd_display_string(book["price"]+"won", 2) # Write line of text to second line of display
sleep(6) # Give time for the message to be read
display.lcd_clear() # Clear the display of any data
sleep(2) # Give time for the message to be read
except KeyboardInterrupt:
# If there is a KeyboardInterrupt (when you press ctrl+c), exit the program and cleanup
print("Cleaning up!")
display.lcd_clear()
f.close()
{"message":{"result":{"srcLangType":"ko","tarLangType":"en","translatedText":"OpenCV4 programming using C# and Python (from basic computer vision theory to video processing projects using machine learning)","engineType":"N2MT","pivot":null,"dict":null,"tarDict":null,"modelVer":"Unknown"},"@type":"response","@service":"naverservice.nmt.proxy","@version":"1.0.0"}}
값이 {} 오브젝트에 들어있을 때 원하는 값만 가져오는게 어렵다.
response_body = response1.read()
#json 형 변환
res = json.loads(response_body.decode('utf-8'))
print(res['message']['result']['translatedText'])
return res['message']['result']['translatedT']
res['message']['result']['translatedText']
번역된 translatedText만 잘불러와진다.
'Coding > BigData_Python' 카테고리의 다른 글
python_ text를 모스부호로 바꾸기.txt -> csv (1) | 2022.09.25 |
---|---|
(python)COCO_이미지 검출 모델 : 객체 검출하기 (0) | 2022.08.07 |
yolo 이미지 분석 스터디 (0) | 2022.08.03 |
Python_ .py 호출하기 (0) | 2022.04.25 |
part1. 설치 (0) | 2022.02.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- StableDiffusion
- opencv
- Express
- AI
- oculuspro
- RNN
- 라즈베리파이
- Arduino
- TouchDesigner
- Java
- 유니티플러그인
- 유니티
- Python
- three.js
- emotive eeg
- CNC
- 후디니
- unity 360
- DeepLeaning
- colab
- Unity
- sequelize
- node.js
- motor controll
- MQTT
- docker
- ardity
- houdini
- VR
- JacobianMatrices
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함