LoginSignup
0
0

様々な Web サービス上で作成文書の更新を調査する

Last updated at Posted at 2024-06-25

「Discord ボットを作ってみる」
https://qiita.com/nanbuwks/items/0206991f7c464209087b

を拡張して、「進捗どうですかボット」を作っています。

これは、特定の URL をクローしてハッシュを比較し、前回チェック時のハッシュ値と異なれば「捗ってますね」、変更なければ「進捗ないです」と表示するものです。

チェックするURLは、メンバーの手掛けている Google Drive 、 Qiita、GitHub、Wiki、Evernote など様々です。
しかしながら例えば Qiita の記事をクローしても、広告などが差し挟まれるためにコンテンツが更新されているかどうかそのままではわかりません。

そこでコンテンツを取得するために、サービスに合わせて調整することになります。
サービスごとにTipsをまとめました。

条件

  • 作成文書を取得できる URL を調べる
  • URL のアクセスは Get パラメータのみ
  • URL のアクセスは Python の reqyests ライブラリで行う

Qiita

ページのURLの後に .md を加えると、本文の MarkDown ファイルが取得できます。
書きかけの記事の場合は、一旦限定共有公開にしておいてそれのページURLを用います。

Google document

共有リンクが以下のようになっている場合、
https://docs.google.com/document/d/1U3L5jIB5k7wjRRLh0pGhW-PWgspVDHhQKzuM0xNee6w/edit?usp=sharing

? から後ろを ?format=txt に変更するとテキストファイルで取得できます。

https://docs.google.com/document/d/1U3L5jIB5k7wjRRLh0pGhW-PWgspVDHhQKzuM0xNee6w/export?format=txt

GitHub

レポジトリURLが以下のようになっている場合、

https://github.com/nanbuwks/discord_progress_check_bot

以下のようにしてレポジトリの zip を取得して更新をチェックします。もう少し簡単な方法がないかな?

https://github.com/nanbuwks/discord_progress_check_bot/archive/refs/heads/main.zip

PukiWiki

以下の記事
http://openforce.project2108.com/index.php?%E8%83%BD%E7%99%BB%E5%8D%8A%E5%B3%B6%E6%94%AF%E6%8F%B42024Summer
の本体はサーバに格納されている txt ファイルです。 記事名を UTF または EUC でエンコードして txt ファイル直リンクを作ります。

http://openforce.project2108.com/wiki/E883BDE799BBE58D8AE5B3B6E694AFE68FB43230323453756D6D6572.txt

evernote

共有リンクのURL

https://www.evernote.com/shard/s738/sh/a026e155-b0b7-c840-799a-f9ad0993e1d6/uJ1ZvZT8afR4nFugZ8VPo3UKuUyleeji_VaKH1S956YTZF03GEGrnVrIzA

に手を加えて以下のようにする。

https://www.evernote.com/shard/s738/sh/a026e155-b0b7-c840-799a-f9ad0993e1d6/uJ1ZvZT8afR4nFugZ8VPo3UKuUyleeji_VaKH1S956YTZF03GEGrnVrIzA?json=1&rdata=0

cf.,「Evernote の共有リンクから note の内容を取得」
https://qiita.com/nanbuwks/items/233a86031bad88005e59
},

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0