매일 아침 스모 역사의 이미지를 보내주는 LINE BOT을 만들었다.
소개
아침에 일어나는 것이 매우 약합니다.
스마트 폰의 알람을 여러 세트하고 있습니다만, 듣고 질리기 때문에, 응,이라고 생각하는 것만으로 또 곧 자고 버립니다.
거기서
알람 설정 시간에 정기 실행하는 자신이 좋아하는 것의 이미지를 인터넷에서 주워 보내주는 LINE BOT
를 만들어 보았습니다.
그물 이미지 가져오기(Google Custom Search API)
Google Custom Search API를 사용하여 이미지 수집 을 참고로,
API를 사용 설정하여 자신이 좋아하는 이미지를 인터넷에서 가져왔습니다.
def get_image_urls(search_word):
CUSTOM_SEARCH_API_KEY = "**********"
CUSTOM_SEARCH_ENGINE_ID = "**********"
custom_search_url = f"https://www.googleapis.com/customsearch/v1?key={CUSTOM_SEARCH_API_KEY}&cx={CUSTOM_SEARCH_ENGINE_ID}&searchType=image&q={search_word}&num=10"
img_urls = []
res = urllib.request.urlopen(custom_search_url)
data = json.loads(res.read().decode('utf-8'))
for i in range(len(data["items"])):
img_urls.append(data["items"][i]["link"])
return img_urls
def get_image(search_word):
img_urls = get_image_urls(search_word)
img_url = random.choice(img_urls)
img = requests.get(img_url).content
return img
자동으로 LINE 보내기(LINE Notify)
Python에서 LINE Notify로 LINE으로 메시지 보내기 을 참고로,
LINE Notify에 등록하여 이미지를 전송하는 BOT을 만들었습니다.
def line(img):
LINE_NOTIFY_TOKEN = "**********"
line_notify_url = 'https://notify-api.line.me/api/notify'
message = '起きる時間です'
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + LINE_NOTIFY_TOKEN}
files = {"imageFile": img}
r = requests.post(line_notify_url, headers=headers, params=payload, files=files)
프로그램 정기 실행(AWS Lambda + CloudWatch)
12시에 점심을 알리기 위해 Slack에 "밥입니다"의 이미지를 게시하고 싶습니다. 을 참고로 Lambda Function을 만들고 CloudWatch에서 정기 실행했습니다.
타사 라이브러리 인 requests를 사용할 때 【AWS】Lambda에서 pip하고 싶을 때 할 일을 참조했습니다.
import json
import random
import urllib.request
import urllib.parse
import requests
def lambda_handler(event, context):
search_words = ['千代丸', '遠藤関', '高見盛', '朝青龍', '寺尾力士', 'わんぱく相撲']
search_word = random.choice(search_words)
search_word = urllib.parse.quote(search_word)
img = get_image(search_word)
return line(img)
요약
이것으로 매일 아침 깨끗이 깨어날 수 있을 것 같습니다.
코드는 모두 github에 있습니다. 실수 등 교수해 주시면 기쁩니다.
Reference
이 문제에 관하여(매일 아침 스모 역사의 이미지를 보내주는 LINE BOT을 만들었다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a0082273/items/59fac519b5695fdd4dea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Google Custom Search API를 사용하여 이미지 수집 을 참고로,
API를 사용 설정하여 자신이 좋아하는 이미지를 인터넷에서 가져왔습니다.
def get_image_urls(search_word):
CUSTOM_SEARCH_API_KEY = "**********"
CUSTOM_SEARCH_ENGINE_ID = "**********"
custom_search_url = f"https://www.googleapis.com/customsearch/v1?key={CUSTOM_SEARCH_API_KEY}&cx={CUSTOM_SEARCH_ENGINE_ID}&searchType=image&q={search_word}&num=10"
img_urls = []
res = urllib.request.urlopen(custom_search_url)
data = json.loads(res.read().decode('utf-8'))
for i in range(len(data["items"])):
img_urls.append(data["items"][i]["link"])
return img_urls
def get_image(search_word):
img_urls = get_image_urls(search_word)
img_url = random.choice(img_urls)
img = requests.get(img_url).content
return img
자동으로 LINE 보내기(LINE Notify)
Python에서 LINE Notify로 LINE으로 메시지 보내기 을 참고로,
LINE Notify에 등록하여 이미지를 전송하는 BOT을 만들었습니다.
def line(img):
LINE_NOTIFY_TOKEN = "**********"
line_notify_url = 'https://notify-api.line.me/api/notify'
message = '起きる時間です'
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + LINE_NOTIFY_TOKEN}
files = {"imageFile": img}
r = requests.post(line_notify_url, headers=headers, params=payload, files=files)
프로그램 정기 실행(AWS Lambda + CloudWatch)
12시에 점심을 알리기 위해 Slack에 "밥입니다"의 이미지를 게시하고 싶습니다. 을 참고로 Lambda Function을 만들고 CloudWatch에서 정기 실행했습니다.
타사 라이브러리 인 requests를 사용할 때 【AWS】Lambda에서 pip하고 싶을 때 할 일을 참조했습니다.
import json
import random
import urllib.request
import urllib.parse
import requests
def lambda_handler(event, context):
search_words = ['千代丸', '遠藤関', '高見盛', '朝青龍', '寺尾力士', 'わんぱく相撲']
search_word = random.choice(search_words)
search_word = urllib.parse.quote(search_word)
img = get_image(search_word)
return line(img)
요약
이것으로 매일 아침 깨끗이 깨어날 수 있을 것 같습니다.
코드는 모두 github에 있습니다. 실수 등 교수해 주시면 기쁩니다.
Reference
이 문제에 관하여(매일 아침 스모 역사의 이미지를 보내주는 LINE BOT을 만들었다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a0082273/items/59fac519b5695fdd4dea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def line(img):
LINE_NOTIFY_TOKEN = "**********"
line_notify_url = 'https://notify-api.line.me/api/notify'
message = '起きる時間です'
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + LINE_NOTIFY_TOKEN}
files = {"imageFile": img}
r = requests.post(line_notify_url, headers=headers, params=payload, files=files)
12시에 점심을 알리기 위해 Slack에 "밥입니다"의 이미지를 게시하고 싶습니다. 을 참고로 Lambda Function을 만들고 CloudWatch에서 정기 실행했습니다.
타사 라이브러리 인 requests를 사용할 때 【AWS】Lambda에서 pip하고 싶을 때 할 일을 참조했습니다.
import json
import random
import urllib.request
import urllib.parse
import requests
def lambda_handler(event, context):
search_words = ['千代丸', '遠藤関', '高見盛', '朝青龍', '寺尾力士', 'わんぱく相撲']
search_word = random.choice(search_words)
search_word = urllib.parse.quote(search_word)
img = get_image(search_word)
return line(img)
요약
이것으로 매일 아침 깨끗이 깨어날 수 있을 것 같습니다.
코드는 모두 github에 있습니다. 실수 등 교수해 주시면 기쁩니다.
Reference
이 문제에 관하여(매일 아침 스모 역사의 이미지를 보내주는 LINE BOT을 만들었다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a0082273/items/59fac519b5695fdd4dea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(매일 아침 스모 역사의 이미지를 보내주는 LINE BOT을 만들었다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/a0082273/items/59fac519b5695fdd4dea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)