ここ1ヶ月くらいでしょうか。
feedlyにアメブロの検索結果RSSを登録していたのですが、それがうまく機能しなくなっていたのです。
あいまい検索になってしまっていたのですよね。
例えば「スマホ仮面」だと「スマホ or 仮面」で検索されているようで。
でもブラウザで実際のフィードを見るとちゃんと動いていて。
ちょっと調べてみることにしました。
知る人ぞ知るのですが、アメブロは検索結果をRSS配信しています。
https://search.ameba.jp/rss/検索文字列/
このURLにアクセスすると、アメブロの記事を検索した結果が格納されたRSSを取得できます。
試しに下記URLにアクセスすると、アメブロでスマホ仮面という文字列が入った記事を取得できます。
が、これをfeedlyに入力してもなぜか実際のフィードと結果が違う事象。
昔は同じだったのですけどね。
おっかしいなあ。
ここでエンジニア特有のバグ発見スキルが発動。
Nullの結果、と出ている以上アメーバ側に渡すリクエストがおかしいのでは無いか?と。
日本語URLのせいなのかもしれない。
って事でURLエンコードしてみる。
「スマホ仮面」を「%E3%82%B9%E3%83%9E%E3%83%9B%E4%BB%AE%E9%9D%A2」にしてみる。
やっぱり結果がおかしい。
Shift-JISエンコード?UTF-8エンコード?
色々試してみないと分からないかも。
そして色々試した結果、やっと正常な結果が返るパターンを確認。
UTF-8で全部小文字にしないと駄目でした。
そういえば、確かツイッターAPIも小文字じゃないと返らなかった気がする。
先月PerlでツイッターAPI使った時、
https://search.twitter.com/search.json?q=日本語
をエンコードする際にURI::escape使ってエンコードしても結果が返らず、おっかしいなあと思って
小文字に変換したら結果返った記憶があるし。
なんかアメブロ側のバグにも見えるような気がしてきたけど、
feedlyに日本語URLを入力する時は小文字でURLエンコードさせたほうが良さそうですね。
適当にgoogleとかでURLエンコードと検索すれば変換してくれるサービスがそこら辺にありますので利用しましょう。