izuemon commited on
Commit
0daba3a
·
verified ·
1 Parent(s): 51eb7be

Update watcher.py

Browse files
Files changed (1) hide show
  1. watcher.py +11 -3
watcher.py CHANGED
@@ -45,9 +45,17 @@ def parse_updated_at(value):
45
  return None
46
 
47
  def extract_youtube_id(text):
48
- patterns = [
49
- r"v=([A-Za-z0-9_-]{11})",
 
 
50
  r"youtu\.be/([A-Za-z0-9_-]{11})",
 
 
 
 
 
 
51
  ]
52
  for p in patterns:
53
  m = re.search(p, text)
@@ -360,7 +368,7 @@ def main():
360
  except Exception as e:
361
  print(f"結合処理エラー: {e}")
362
  message_lines.append(f"結合処理に失敗: {str(e)}")
363
- message_lines.append(f"ダウンロードが完了しました。\nAPIの変更により、一次的に使用できなくなっておりました。今後は維持していけるように頑張ります。\nこのシステムについて:このシステムは、Huggingfaceのサーバーより、自動で送信されています。本人がいなくても多分いつでも使えます。動画は、最高画質のものに音声を付けるようにしています。音声を付ける処理に時間がかかりますが、この方法しかありませんでした。")
364
  # メッセージを送信
365
  message = "\n".join(message_lines)
366
  send_to_channel(message)
 
45
  return None
46
 
47
  def extract_youtube_id(text):
48
+ _patterns = [
49
+ # クエリパラメータ v= または vi=
50
+ r"(?:[?&](?:v|vi)=)([A-Za-z0-9_-]{11})",
51
+ # youtu.be 短縮リンク
52
  r"youtu\.be/([A-Za-z0-9_-]{11})",
53
+ # /embed/ /v/ /shorts/
54
+ r"youtube(?:-nocookie)?\.com/(?:embed|v|shorts)/([A-Za-z0-9_-]{11})",
55
+ # watch? の中に v= が含まれるケース(ioパラメータ等が混ざっても OK)
56
+ r"youtube(?:-nocookie)?\.com/watch\?.*?v=([A-Za-z0-9_-]{11})",
57
+ # hash や他パラメータに混ざるケース: ...#v=xxxx or &v=xxxx
58
+ r"[#&]v=([A-Za-z0-9_-]{11})"
59
  ]
60
  for p in patterns:
61
  m = re.search(p, text)
 
368
  except Exception as e:
369
  print(f"結合処理エラー: {e}")
370
  message_lines.append(f"結合処理に失敗: {str(e)}")
371
+ message_lines.append(f"ダウンロードが完了しました。\nAPIの変更により、一次的に使用できなくなっておりました。今後は維持していけるように頑張ります。\nこのツールの使い方:ダウンロードしたいYoutube動画のURLを貼り付けると、自動でボットがダウンロードURLを生成します。\nシステムについて:このシステムは、Huggingfaceのサーバーより、自動で送信されています。本人がいなくても多分いつでも使えます。動画は、最高画質のものに音声を付けるようにしています。音声を付ける処理に時間がかかりますが、この方法しかありませんでした。")
372
  # メッセージを送信
373
  message = "\n".join(message_lines)
374
  send_to_channel(message)