2
4

More than 3 years have passed since last update.

Google Apps ScriptでHappyou Final Scraperを中継してInoreaderで読む

Posted at

あらゆるウェブページをRSSフィードに変換するHappyou Final Scraperという便利なものがあり愛用していたのですが、
かなり昔のあるときからInoreaderからのアクセスが非常に遅くなり、タイムアウトになりRSSを取得できない状態が続いていました。

failed.JPG

新規追加のときはタイムアウトが長いのか、かなり待てば追加されるのですが、普段の巡回はエラーに書いてあるように3秒以内に応答がなければ失敗扱いとなります。

原因はわからず、私の環境かHappyou Final ScraperとInoreaderの経路間の問題なのか不明で放置していたのですが、
一念発起して迂回スクリプトを書くことに。
普通のアクセスは高速なので、別のところで取得してそのままInoreaderに返せばよかろうとなりました。
ラムダとかでいいのですが簡単なGASで書きます。

function doGet(e) {
  var URL = ''
  if (e.parameter.url) {
    URL = 'https://' + decodeURIComponent(e.parameter.url)
  } else {
    URL = 'https://www.happyou.info/fs/gen.php?u=1525577309&p=-453397430'
  }
  const res = UrlFetchApp.fetch(URL)
  return ContentService.createTextOutput(res.getContentText())
  .setMimeType(ContentService.MimeType.XML);
}

GETパラメーターで取得先のRSSURLを渡してあげて、fetchはGASで行いInoreaderにレスポンスを返す単純なアプリを公開します。

こうするとフェッチを加味してもInoreaderとGAS間の応答は3秒以内に収まるので、

succsess.JPG

このようにInoreaderでHappyou Final ScraperのRSSが再び取得できるようになりましたとさ。めでたしめでたし。

URLを指定すると

https://script.google.com/macros/s/fugafuga/exec?url=www.happyou.info%2Ffs%2Fgen.phphogehoge

こんなかんじですね。

2
4
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
2
4