積極的にメモっていく姿勢

題名詐欺。更新頻度の低さが売り。

画像持ってくるやつ

昨日は置戸で遊んできました。

それの報告をしようと思ったんだけど、そこでちょっと出来心。

そこかしこで「instagram」を使って写真を撮っていました。
Twitterでもあげている通り。

うまく画像出てきてくれませんでした。

ここで出来心です。

このサービス、パソコンから使うとすごく不便な感じがしました。

www.instagram.com

ユーザーごとに表示とかない感じ。
あと、ひとつ前の画像見るとかそういうのない。

「じゃあスマートフォンからあげて使えばいいのかー」←厭
「ソース見てそっから画像のところまでいくかー」←面倒

ということで、instagramの画像ページのurlを受け取って、画像urlを返すだけのものを書いたよ。

#! /usr/local/bin/python
# -*- coding: utf8 -*-

import sys
import commands

def main():
  if len(sys.argv) <= 1:
#! /usr/local/bin/python
# -*- coding: utf8 -*-

import sys
import commands

def main():
  if len(sys.argv) <= 1:
    return ""

  img_url = commands.getoutput("curl " + sys.argv[1] + "| grep jpg')'").split(" ")
  img = ""

  for el in img_url:
    if "url" in el and not "profile" in el:
      img = el[4:-5]
      break

  print img

if __name__ == "__main__":
  main()

sys.argv -> コマンドライン引数。リストでやってくる。
commands.getoutput(命令) -> シェルコマンドを実行して、その出力をもらう。

  img_url = commands.getoutput("curl " + sys.argv[1] + "| grep jpg')'").split(" ")

ここの部分は、どうしようもなくなってこのざまです。

curlの出力をもらうと、もれなく

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6866    0  6866    0     0  11972      0 --:--:-- --:--:-- --:--:-- 17382

よくわかんないこれがくっついてくる。

ということで、これを削除するうまい方法を思いつけない残念な頭は、

  img_url = commands.getoutput("curl " + sys.argv[1] + "| grep jpg')'").split(" ")

空白で区切って、必要そうな奴を使うという発想に...。

    if "url" in el and not "profile" in el:
      img = el[4:-5]
      break

ちなみに profile というのが含まれているurlはユーザーのサムネイル(?)的なもので、目的の物じゃないです。

...

(◞‸◟)

本当だったら、フォームでも表示して、そこにurlぶち込んだら、画像が下に出てくるくらいやりたかった。
どうしても、jQueryの何かでcgiに値を投げて、返してもらう方法が分からなかったので、断念。

ずーっと 500 のエラーが出続けるという大惨事。
また、改めて挑戦したいところです。

...

(◞‸◟)?

Instagram API あったよね...?

(◞‸◟)

何故、それを先に調べなかったのか...