ニコニコ取得範囲の変更とリクエストのタイムアウト設定
このコミットが含まれているのは:
@@ -6,6 +6,7 @@ import sys
|
|||||||
|
|
||||||
from atproto import Client, models
|
from atproto import Client, models
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
|
from requests.exceptions import Timeout
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from ai.talk import Talk
|
from ai.talk import Talk
|
||||||
@@ -95,8 +96,13 @@ def main (
|
|||||||
|
|
||||||
uri = f"https://www.nicovideo.jp/watch/{ datum['contentId'] }"
|
uri = f"https://www.nicovideo.jp/watch/{ datum['contentId'] }"
|
||||||
(title, description, thumbnail) = get_embed_info (uri)
|
(title, description, thumbnail) = get_embed_info (uri)
|
||||||
|
try:
|
||||||
upload = client.com.atproto.repo.upload_blob (
|
upload = client.com.atproto.repo.upload_blob (
|
||||||
io.BytesIO (requests.get (thumbnail).content))
|
io.BytesIO (requests.get (thumbnail,
|
||||||
|
timeout = 60).content))
|
||||||
|
thumb = upload.blob
|
||||||
|
except Timeout:
|
||||||
|
thumb = None
|
||||||
|
|
||||||
embed_external = models.AppBskyEmbedExternal.Main (
|
embed_external = models.AppBskyEmbedExternal.Main (
|
||||||
external = models.AppBskyEmbedExternal.External (
|
external = models.AppBskyEmbedExternal.External (
|
||||||
@@ -155,7 +161,7 @@ def get_nico_deerjika ():
|
|||||||
'/contents/search')
|
'/contents/search')
|
||||||
|
|
||||||
now = datetime.now ()
|
now = datetime.now ()
|
||||||
base = now - timedelta (hours = 1)
|
base = now - timedelta (hours = 4)
|
||||||
|
|
||||||
params = { 'q': '伊地知ニジカ',
|
params = { 'q': '伊地知ニジカ',
|
||||||
'targets': 'tags',
|
'targets': 'tags',
|
||||||
@@ -173,7 +179,10 @@ def get_nico_deerjika ():
|
|||||||
% (now.year, now.month, now.day)),
|
% (now.year, now.month, now.day)),
|
||||||
'include_lower': True }] }) }
|
'include_lower': True }] }) }
|
||||||
|
|
||||||
res = requests.get (URL, params = params).json ()
|
try:
|
||||||
|
res = requests.get (URL, params = params, timeout = 60).json ()
|
||||||
|
except Timeout:
|
||||||
|
return []
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
for datum in res['data']:
|
for datum in res['data']:
|
||||||
@@ -192,7 +201,7 @@ def get_embed_info (
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
res = requests.get (url, timeout = 60)
|
res = requests.get (url, timeout = 60)
|
||||||
except Exception:
|
except Timeout:
|
||||||
return ('', '', '')
|
return ('', '', '')
|
||||||
|
|
||||||
if res.status_code != 200:
|
if res.status_code != 200:
|
||||||
|
|||||||
新しい課題から参照
ユーザをブロックする