2013-03-16[n年前へ]
■100円のショップグルーガン+ロボットアームで3Dプリンタを作ってみたい…。
100円のショップのダイソーで買ったグルーガンで100円で楽しめる「3Dプリンタペン」遊びをすると、次はグルーガンを動かして描く作業を自動化してみたくなります。つまり、「3Dペン」から「3Dプリンタ」に進化させてみたくなります。そこで、ロボットアームを仕立てて、グルーガンを動かしてみることにしました。
吐出トリガーを引く部分の駆動はしていませんし、この2軸駆動では円筒を作ることしかできないような気もしますが…とりあえず今日は「3Dプリンタ遊び」をしてみました。
家に、ロボットアームがあれば、自分の腕代わりに色んなことをやらせることができそうです。Amazonで探してみると、数千円の制御可能なロボットアームのセットもあったりしますから、試しに1本買って猫の手代わりに使ってみるのも面白いかもしれません。たとえば、カメラをロボットアームで動かしてみたり、温度計や距離計を動かして、温度カメラや距離カメラを作ってみたり、ありとあらゆるものを動かしてみたくなりますね。
2013-05-07[n年前へ]
■Youtube動画をMP3ファイルとして保存するRuby+Waitrコードを書いてみよう!
Youtube動画をmp3ファイルとして保存するRubyスクリプトを、(ブラウザ操作用ライブラリである)Waitrを使って書いてみました。Youtube 動画URLからMP3ファイルを生成するWEBサイトYouTube mp3へのアクセス・作業を、Ruby/Watirで自動化するコードです。
まず、下記コードを、たとえばyoutube2mp3.rbという名前で保存します(ちなみに、下記コードはFirefoxを操作するコード例です)。
require 'rubygems' require 'watir-webdriver' # sudo gem install hoge profile = Selenium::WebDriver::Firefox::Profile.new profile['browser.download.dir']="hoge" # 保存先 profile['browser.download.folderList']=2 profile['browser.helperApps.neverAsk.saveToDisk']="audio/mpeg" def url2mp3( url, b ) b.text_field( :id => 'youtube-url' ).set url b.button( :id => 'submit' ).click Watir::Wait.until(60,2) do b.text.include? "successfully" end url = b.links.select{ |link| /get/=~link.href } url[0].click if url.length == 1 sleep 20 # wait for "file save" end b = Watir::Browser.new :firefox, :profile=>profile b.goto 'http://www.youtube-mp3.org/' b.wait open( ARGV[0] ) do |file| file.readlines.each { |url| url2mp3( url.strip, b ) } end b.closeその上で、MP3ファイルとして保存したいYoutubeリンクを(各行に動画URLとなっている)テキストファイルとして保存します。つまり、(中身が)こんな具合になっているテキストファイルを作ります。
http://www.youtube.com/watch?v=s_lCJsJPUeY http://www.youtube.com/watch?v=4YhEAn0XPzcこのファイルが、たとえば、list.txtという名前にしたのであれば、あとは
ruby youtube2mp3.rb list.txtと(Rubyスクリプトを)実行すると、Youtube動画の音声部分が、MP3ファイルとして自分のPCに保存されていきます。
「使うのに手間が掛かって面倒だ」と思うWEBサイト・作業があれば、こんな風に(あなたを楽にする)自動化スクリプトを書いてみるのはいかがでしょうか。