じょーかじょーか

あの頃のマーシー

Rubyでのクローラー開発でデバッグ時にhtmlファイルを出力する

クローラーを作っていると、現在どんなページに対して処理しているのか、想定通りのページなのか、確認したいことが多々あると思います。
ビジュアル的に確認したい時、Capybaraとかだとsave_screenshotメソッドとかで簡単に確認出来ますが、Mechanizeなどのブラウザエンジンが組み込まれていない系ライブラリの場合、気軽に確認するのは難しいと思っていました。
だから毎回ページのソースをputsして頑張って確認していました。
しかしterminalに出力されるhtmlコードを何回も確認しているうちに発狂したので、簡単にファイルを生成する方法を調べた所、すごい簡単な方法を知りました。File.write先輩です。

クローラー開発に使用するライブラリがなんであれ、htmlソースを返すメソッドはあると思います。
NokogiriだったらNokogiri::HTML::Document#to_htmlで
MechanizeだったらMechanize::Page#bodyかMechanize::Page#contentで
AnemoneだったらAnemone::Page#bodyで
htmlソースを取得して、それをFile.write先輩の第二引数に渡します。第一引数は生成するファイル名です。

source = page.body
File.write('check.html', source)

たったこれだけでhtml生成出来るんですね。Rubyは便利でした。

def check(source, file_name = 'check.html')
  File.write(file_name, source)
end

このcheckメソッドを作った後の僕の人生が好転したのは言うまでもありません。彼女が出来そうになりました。

バイク買ったぶんぶん

初バイクを買いました。ヤフオクで。
バイクの知識が皆無なのに中古の個人取引ということと、実車確認せずに写真だけ見て買ったということから、不安でした。

説明欄に「カスタム多数!」と書いてあり、続いてイミフなカスタム内容が細かく書いてありました。
しゅ、しゅらうどはそれにしたんだおっけーわかってるおっけー
オークション終了間際だったからか「音はどんな感じっすか?(^^)」という素人丸出しの質問は無視されましたが、落札してしまいました。
落札直後は買った興奮よりお金がなくなる萎えの方が大きかったです。

何度かやり取りをして、直接我が家まで届けにくるぅということになりました。名前しか知らない相手がうちにくるぅ。
恐らく43歳ぐらいのおっさんだろうと思いました。名前的に。

そして今日がその日でした。
おっさんと会う1時間前に、おっさんに対して失礼がないように、髪を切りに行きました。 かわいい美容師さんに切ってもらうことになりました。
美容師さんと話しながら、おれ喋ってる時こんな顔なんだ思ってたのと違うなキモいなと凹んでいる時に携帯が鳴りました。
今日俺に電話かけてくるのは小林クリーニングかバイクおっさんバイクしかいないと分かっていたし、時間的に大分早いけどおっさんぽかったので、一旦スルーしました。ネイルトークで盛り上がってたし。
美容師さんと笑顔で別れた後、電話を折り返した所、案の定バイクおっさんバイクでした。
ヤフオクの取引ナビではすごい淡白だったのに電話ではえらいノリノリだなと思いました。大人あるある。
早く着いたということで、急いで待ち合わせ場所に向かいました。

待ち合わせ場所見た感じ誰もいなかったので、近くの車の影で切りたての髪変なんになってないかスマホで確認して待ってたら、その車におっさん乗ってました。
髪変なんになってないかスマホで確認してるとこ見られたよはずかしっ
バイクに乗ってくると思ってたけど車の荷台に積んでくるパターンでした。
おっさんは若干渋目のおっさんでした。普通の人で良かった。いい感じの人で良かった。

色々とバイクの説明をしてもらって、 おっさん「プラグはノロジーでこのホースはアールズ、エキパイはじゅんせーで、」
ぼく「なるほどなるほどなるほど!!」

無事取引終了しました。

Capybara + Selenium で使うブラウザをChromeに変更する方法

Seleniumのデフォルトの設定ではFireFoxが起動します。
嫌なのでChromeが起動するようにします。

まずchromedriverをインストール。

$ brew install chromedriver

Capybara.current_driverを指定する前に、ブラウザをchromeに設定します。

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

Capybara.current_driver = :selenium

これでFireFoxではなくChromeが起動するようになります。
やったぜ。

松屋の豚汁、単品でも注文出来た

松屋に行く理由って、豚汁がとても美味しいからじゃないですか
豚汁を食べに行くようなもんですよね
むしろ丼とかいらないです
でも券売機には「豚汁変更」しかないんです
丼とか定食に付いてくる味噌汁を豚汁に変更するオプションです
f:id:kiyosume:20150603211340j:plain
だから単品では注文出来ないだろうと思ってたんですが、今日注文する時に店員さんに聞いてみたら、「全然だいじょぶですむしろのぞむところです⊂(◉‿◉)つ」と仰ってました。

これ松屋大丈夫ですかねぇ
これ許しちゃうとほとんどの客が豚汁単品しか頼まなくなっちゃうと思うんですよね〜
松屋がなくなると困るので、ぼくはビビン丼大盛+豚汁で!730え〜ん

既にiPhoneに入っている曲に歌詞やアートワークを追加する方法

iTunesに歌詞やアートワークを追加する方法ではありません。
iTunesに歌詞やアートワークを追加した後に、それらをiPhoneに反映させる方法です。

一回iPhoneの曲を削除してから追加しなくてもいいのですよ。
上書きするような形で同じ曲を入れれば、再生回数などを保持したまま歌詞やアートワークを追加出来ます。
うまく追加されない時は2,3回追加するとうまくいったりします。

うれしい!音ズレTubeが使われてる!

音ズレTubeに設置してあるソーシャルボタンの数が増えてる!

f:id:polycorn:20150107231654p:plain

2ツイート、4はてブ、1いいね!
こっれっはっ、うれしい。うれしいぞ〜。
このうち1ツイート、1はてブは僕ですけどね。なんで急に増えたんだろう。昨日かっこいいfavicon作ったから?

f:id:polycorn:20150107232430p:plain

なんせこのfavicon作るのに13時間はかかりましたからね。それなりの反響は期待しておりました。ありがとうございます。

前の記事で書いた

今はどうやるか分からないけど、これから改良していきたい点を列挙してみます。
youtubeのURLにotozureと加えれば、音ズレTubeでその動画を再生出来るようにする。
youtubeのアドレスはhttpsだから、↑を実現するためにSSLサーバー証明書を取得する。
httpsでのアクセスをhttpにリダイレクトする。
・youtubeotozure.comのアクセスをwww.youtubeotozure.comにリダイレクトする。

これらについてですが、wwwにリダイレクトするのは何とか出来たんですが、httpsって結構お金かかるんですね。httpsは一旦保留します。もっと人気出たら考えます。

それにしてもこのスピード感、使われてるって感じがする。

 

追記

アクセスが増えた理由がわかりました。
WEBサービスまとめてみた」こちらのサイトで紹介して頂いたからです。
感無量です。ありがとうございます。
ふふっ(笑)こんなダサいfaviconでアクセスが増えるわけないですよねありがとうございます。

初めて作ったWebサービス、「音ズレTube」を公開

ぼくの始まりの終わりの始まりのWebサービス、音ズレTubeを公開しました〜!

音ズレTube

f:id:polycorn:20141230015944p:plain

今はどうやるか分からないけど、これから改良していきたい点を列挙してみます。
youtubeのURLにotozureと加えれば、音ズレTubeでその動画を再生出来るようにする。
youtubeのアドレスはhttpsだから、↑を実現するためにSSLサーバー証明書を取得する。
httpsでのアクセスをhttpにリダイレクトする。
・youtubeotozure.comのアクセスをwww.youtubeotozure.comにリダイレクトする。