はじめに
いつからか(正確な時期は忘れたけど)ASMR が好きになって、音声作品にも触れるようになった。
でも価格が結構高いので、自然とネットで探すようになって、このサイトを知った。
ただし、このサイトはログインしないと詳細が見られず、しかも登録は年に数回の不定期オープン。
そこで、サーバー側で登録可能かどうかを定期チェックし、登録可能なら Telegram に通知するようなツールを作った。
GitHub: yexca/hvdb
目的
hvdb が登録可能なタイミングを監視し、登録可能であれば Telegram で通知。
登録可能かどうかのチェック方法
灵梦广场
のスレッドによると、登録が開放されているときは login ページに register
が表示されるらしい。
ならば、シンプルにそのページをクローリングして register
という単語があるかどうかを確認するだけで OK。
Bot 設定
Telegram で通知を送るには、まず Bot を作成する必要がある。
https://t.me/BotFather
にアクセスし、/newbot
と入力して手順に従い作成。
作成した bot に hello
などを送信してから、以下の URL にアクセス(TOKEN を自分のものに置き換える):
|
|
JSON が返ってくるので、その中から id
を取得 → これが chat_id
になる。
Python スクリプト
Python でやるのが一番簡単(他言語は面倒だった)
クローリングには requests
を、通知には
pyTelegramBotAPI
を使用。
ファイル名は http.py
や requests.py
にしないこと(ライブラリと衝突する)
|
|
参考:
- AttributeError: module ‘requests’ に関するエラー対処
- requests - 廖雪峰の公式サイト
- Python time.sleep() - 菜鸟教程
- Python 時刻・日付の使い方
Docker 化
ファイル構成:
|
|
Dockerfile:
|
|
同じディレクトリで以下のコマンドでビルド:
|
|
サーバーへ転送
Windows 側で:
|
|
tar ができたらサーバーに転送:
|
|
サーバー上で:
|
|
参考: docker load エラー「archive/tar: invalid tar header」の対処