読者です 読者をやめる 読者になる 読者になる

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

GoogleアラートのRSSフィードで取得したURLから必要なURLだけ取り出す

ruby

Googleアラートをよく使っていて、最近それを元にSlackに投稿とかをしています。

その時に1点困る(というか気に入らない)点が・・・・

URLが長い!!

Googleアラートで引っかかったアラートのURLがいつもこんな感じになっています。

https://www.google.com/url?rct=j&sa=t&url=http://zip-antenna.com/archives/361410&ct=ga&cd=CAIyHDFiNWQ1YjYyYjRmYmE5YWQ6Y28uanA6amE6SlA&usg=AFQjCNHw2GYqUWQ2BJEVhtx97r3sK274iA

明らかにGoogleさんのアクセス解析の手助けをしてますよね。

まぁ実際、アクセス解析?どうぞどうぞ。って感じではあるのだけれど、Slackに投稿するとき取得したURLそのまま使うとURL展開してくれなかったりするのでそれはこまる。

ってことで、削ります。

正規表現を活用

形的には〜〜〜url=ってところから&ct=〜〜〜〜の間が実URLになっているので、正規表現で抽出します。

めっちゃ簡単でした。

link_tmp = item.xpath('.//atom:link/@href', namespaces).first.content
link = link_tmp[/url=(.*)&ct/,1]

重要なところはlink_tmp[/url=(.*)&ct/,1]のところ。

これで必要なURLのみ抽出出来ました。

後ろの1とかは何の意味があるんだろう?・・・・・・調べておきます。

詳説 正規表現 第3版

詳説 正規表現 第3版

広告を非表示にする
Real Time Web Analytics