Ruby

WWW::Mechanize + XPath で快適 Web スクレイピング!

mixi から友人の日記の本文を取得して出力します。準備。 $KCODE = "e" require "kconv" require "rubygems" require "mechanize" include WWW agent = Mechanize.new とりあえず mixi をゲット。 #Login page = agent.get("http://www.mixi.jp/") form = pa…

WWW::Mechanize

指定の url から mp3 を探して根こそぎ保存する。 require "rubygems" require "mechanize" class Nekosogi def initialize url @agent = WWW::Mechanize.new @h = { url => false } get url end def list @h.keys.sort end private def get url puts url pa…

class

Ruby の class。dog.rb class Dog def initialize(koe) @koe = koe end def nake puts @koe end end aruru = Dog.new("KYAN") aruru.nake ron = Dog.new("WAN") ron.nake class Dog は"犬"という概念を定義しています。 対して、aruru, ron はそれぞれ"一匹…

"Hello world!"

出力 helloworld.rb テキストエディタで以下の内容のファイルを作成。 puts "Hello World!" helloworld.rb として保存。 puts は標準出力メソッド。 実行。 $ ruby helloworld.rb 代入 helloworld2.rb 変数へ文字列を代入し、変数の中身を出力。 foo = "Hell…

Mac OSX に Ruby をインストールし、 webrick を使い proxy server を立てるまで。

Ruby のインストール オブジェクト指向スクリプト言語 Ruby ターミナルを起動し、作業用ディレクトリを作成、移動する。(コマンドは一行ずつ実行。) $ mkdir src $ cd srcRuby 1.8.5 のソースコードをダウンロードし、作業用ディレクトリに保存する。 $ curl…

http://www1.tf.chiba-u.jp/~shin/tutorial/index.rb 勉強。

Net::DNS

ってのがあるみたい。 忙しいから、土日までお預け。

WEBrick

かんたんにウェブサーバを作れます。 require 'webrick' include WEBrick svr = HTTPServer.new ( :DocumentRoot => Dir::pwd + "/public", :Port => 8090, :CGIInterpreter => "/usr/local/bin/ruby" ) trap("INT"){ svr.shutdown } svr.start やっ…

Rubygems

rubygems の使い方。 $ gem install pkgnameそいで require "rubygems" require "pkgname" やったー ドキュメントが読みたいよ $ gem_serverhttp://localhost:8808 やったー

HParser

$ gem install hparserRuby ではてな記法が使えます。 require "rubygems" require 'hparser' print "Content-Type: text/html\n\n" text = File.open("hatena.txt").read parser = HParser::Parser.new hatena = parser.parse text print h…