sironekotoroの日記

Perl で楽をしたい

自作スクリプト 20131110

自作スクリプトで必要なデータが収集できた

  • 某サイトからランキングをスクレイピングで取得する
  • 取得したランキングから、順位と曲名とアーティスト名を正規表現で抜き出し、ハッシュリファレンスに取り込む。
  • 曲名とアーティスト名を引数として渡すと、youtubeのURLを返してくれるサブルーチンを作る
    • 曲名とアーティスト名からyoutubeで検索して、動画のURLをハッシュリファレンスに加える。
    • 1曲につき5件ほど検索し、検索結果から再生数などで動画をソート、最も再生数の多いものを抽出・・・ってことも考えたけど、youtube DATA APIの検索がデフォルトでrelevance(関連性)なのでここはyoutube様を信じる
    • 曲名とアーティスト名で再生数をキーにして検索したらうまく引っかからなかったというのもある。
    • Youtubeに引っかからない曲もあったりしてびっくりした。
      • エラー処理の大事さを知る
$VAR1 = [
          {
            'artist' => 'KATY PERRY',
            'song' => 'ROAR',
            'url' => 'http://www.youtube.com/watch?v=CevxZvSJLk8',
            'rank' => 1
          },
          {
            'artist' => 'PAUL MCCARTNEY',
            'song' => 'NEW',
            'url' => 'http://www.youtube.com/watch?v=BkbbP0ozyMs',
            'rank' => 2
          },
...

さすがにこのデータがData::Dumperで出力されたときには感動した。これで必要なデータは揃った・・・と思うが、いざこれをhtmlに落とし込むところで問題が。

  • htmlのところはmojolicious::Liteで!と思っていたけど、ランキングとってきて整形して出力するのは週に1回なんだから使う必要無いことに気づく。
  • ならば静的webページだ
    • blogブーム以前のhtml直打ちしか知らないので、htmlのclassとかCSSとかよくわかってない。いや、知らない。
    • 絶望的にセンスが無い

ドットインストールにお世話になる。

  • ドットインストールの「bootstrap 3.0 入門」を始めた。
  • レスポンシブwebデザインでブラウザの幅かえてグニグニ動くことに感動。
  • けど、これでもやっぱりレベル高いな・・・一通り全部見たらHTMLの基礎から見ておくことを決意

心配事

  • とりあえず動くものができると、それが楽しくてそっちばかりに労力注いでしまうけど、まだまだ初心者何だから基礎を身につけなくては。
  • for文もリファレンスも知らなかったんだから、もっと知らないことがありまくりのはず。
  • というわけで、結城浩先生の「新版Perl言語プログラミングレッスン入門編 」を始めることにする。
  • 自作スクリプトについては、その楽曲の説明とかもどっかからかスクレイピングして持ってきたいなぁ。
    • 「アルバム『New』は、ポールが各プロデューサーのスタジオに赴き、“今”の自分が作りたい音を純粋に追求し、1年をかけて完成させたという。 」みたいなやつ
    • もちろんアフィリエイトも(アサマシ)

mojoliciousのmorboもmojoも動かない・・・?

  • windowsマシンではうまく動いたんだけどなぜ?
  • file not found とか言われる・・・何回か、cpanmでインストールを繰り返すもNG
  • which morbo でも引っかからない・・・えなにそれ?
  • 最終必殺技のPC再起動でもNG
  • 似たような症状の人を捜そうとするも、みんな平穏無事に使えているようでコマンドが動かない、って記事自体が見つからない。
  • 海外にはあった
    perl - Why is morbo not found after installing mojolicious? - Stack Overflow
    • とりあえず、updatedbを試す・・・がOSXにはそんなコマンドないよってことでgoogle様に確認。OSXではこんな感じ /usr/libexec/locate.updatedb そのあとlocate morboしたらなんかずらずら出てきた!
      • でも、場所が/User/ログインユーザ/.cpan ... の中にある。あるんだけど、おかしい。インストールされるなら、plenvの下のフォルダの中のはずなのに
  • 最後にだめもとでもう一回cpanm --sudo --Mojolicious ・・・成功!?ナンデ!?
  • よくわからないまま終わる。