はじめに
いつからか(正確な時期は忘れたけど)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」の対処