あらゆるウェブページをRSSフィードに変換するHappyou Final Scraperという便利なものがあり愛用していたのですが、
かなり昔のあるときからInoreaderからのアクセスが非常に遅くなり、タイムアウトになりRSSを取得できない状態が続いていました。
新規追加のときはタイムアウトが長いのか、かなり待てば追加されるのですが、普段の巡回はエラーに書いてあるように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秒以内に収まるので、
このようにInoreaderでHappyou Final ScraperのRSSが再び取得できるようになりましたとさ。めでたしめでたし。
URLを指定すると
https://script.google.com/macros/s/fugafuga/exec?url=www.happyou.info%2Ffs%2Fgen.phphogehoge
こんなかんじですね。