サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
mono.kmc.gr.jp/~yhara
公式サイトより。 url = "http://sydsvenskan.se/serier/nemi/article101047.ece?context=serie" feedalize(url) do feed.title = "Nemi" feed.about = "..." feed.description = "Daily Nemi strip scraped from Sydsvenskan" scrape_items("option") do |rss_item, html_element| rss_item.link = html_element.attributes["value"] rss_item.date = Time.parse(html_element.inner_html) rss_item.title = rss_item.date.strftime("
XML::NodeSetクラスのリファレンスです。 mapとかfindとかfind_allなど、Enumerableモジュールのメソッドは全て使えます。 まあNodeクラスの配列みたいなもんだと思えばいい。 NodeSetクラスはNodeクラスとの継承関係はありません。 中身の要素を取得したい empty?() Is this NodeSet empty? each() {|self[x]| ...} Iterate over each node, yielding to block first() Get the first element of the NodeSet. last() Get the last element of the NodeSet. size() document このNodeSetが含まれているDocumentを返す。 再検索 /(*paths)
@@ -8,7 +8,7 @@ ! 機能 :[[Nokogiri/search]]: XML/HTML要素の検索 -:[[Nokogiri/Document]]: +:[[Nokogiri/Node]]: XML/HTMLノードに対する操作 :[[Nokogiri/Builder]]: Rubyのブロックを使ったXML/HTML生成機能 :[[Nokogiri/SAX]]: SAXスタイルのXML/HTMLパーサ :[[Nokogiri/Reader]]: メモリからXMLを読み込む(?)
YAPC::Asia 2008 で Michael Schwern は (中略) ここに ramaze-users.jp を開始します。ドメインはまだ取ってません。 ノープラン(笑)です。 Ramazeとは Rubyで書かれた新進気鋭のWebアプリケーションフレームワークです。 参考: Ramazeとは - はてなダイアリー 軽い、小さい Ramazeは簡潔・軽量をモットーに開発されており、Railsよりもずっとシンプルなフレームワークになっています。 モジュラー MVCのMやVに決まったライブラリがなく、Ramazeがサポートするたくさんのライブラリの中から自分の好きなものを選んで使うことができます。(もっと詳しく → Model, View)
ページを表すクラス。1枚のhtmlに相当する。 agent.get()とか、form.submit() の返り値として得られる。 クラスメソッド new(uri=nil, response=nil, body=nil, code=nil, mech=nil) new(uri=nil, response=nil, body=nil, code=nil, mech=nil) {|self| ...} インスタンスメソッド forms [R] formタグを表すノード一覧(Mechanize::List) frames [R] frameタグを表すノード一覧(Mechanize::List) iframes [R] iframeタグを表すノード一覧(Mechanize::List) links [R] aタグを表すMechanize::Link一覧(Mechanize::List) meta
クローラ本体。 普通、 agent = WWW::Mechanize として使う。 一番良く使うのは agent.get("http://...") クラスメソッド new() new() {|self| ...} インスタンスメソッド ca_file [RW] SSLのPEM形式の証明書のパス名 cert [RW] SSLのX509形式の証明書のパス名 key [RW] SSLのRSA形式の暗号鍵のパス名 pass [RW] SSLのRSA形式の暗号鍵のパスワード(文字列) cookie_jar [RW] cookie入れ。Mechanize::CookieJarのインスタンス history [R] 取得したページの履歴(Mechanize::Pageの配列) log [RW] Loggerのインスタンス max_history [RW] 最大何ページまでhistoryを記録するか o
あるノード内を探索するモジュール。全てのノードに有効。 インスタンスメソッド 要素の検索 /(expr, &blk) search(expr, &blk) 文字列exprで指定したCSSセレクタ/XPathにマッチする要素の配列を返す。ブロックを与えたときは、マッチする要素を順に渡してブロックを実行する。 %(expr) at(expr) 文字列exprで指定したCSSセレクタ/XPathにマッチする最初の要素を返す。 previous_node() この要素の前の兄弟ノードを返す。タグでないもの(テキスト、コメント、CDATAなど)も含む。それらを除きたいときはprevious_sibling()を使うこと。 next_node() この要素の次の兄弟ノードを返す。タグでないもの(テキスト、コメント、CDATAなど)も含む。それらを除きたいときはnext_sibling()を使うこと
Hpricot RubyでHTMLを解析するためのライブラリHpricotの使い方まとめです。 書きかけです。 AnHPricotShowcaseを ベースにしていますが、改変したり省略している箇所も結構あります。 Basics ライブラリのロード HTMLを開く(Hpricot) 要素を探す(search, /) 要素を一つだけ探す 要素の中身のHTMLを得る(inner_html) 要素のタグを含めたHTMLを得る(to_html) 繰り返し(Elements#each) 要素の中を検索する(search, /) HTMLを編集する(set) 要素のパス名を得る(css_path, xpath) Elements 複数の要素の中を検索する Elements#at( expression, &block ) Elements#search( expression, &block ) 複数
あるページのリンク (aタグ) を全て抜き出すスクリプト。 require 'hpricot' require 'open-uri' doc = Hpricot( open("http://www.kmc.gr.jp/").read ) (doc/:a).each do |link| puts "#{link.inner_html} → #{link[:href]}" end
自動google検索。 require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # インスタンス生成 agent.user_agent_alias = 'Mac Safari' # User-Agentの設定 page = agent.get('http://www.google.com/') # ページ取得 search_form = page.forms.with.name('f').first # "f"という名前のフォームを探す search_form.q = 'Hello' # テキストボックス"q"に"Hello"を入力 search_results = agent.submit(search_form) # フォームのsubmitボタンを押す puts search_results.body # 結果
RubyによるWeb Scrapingライブラリの情報をまとめるためのWikiです。 HpricotHTMLを「Rubyらしく」扱うライブラリ MechanizeWebサイトへ自動でアクセスするためのライブラリ scRUBYt!DSLを使って簡単にスクレイピングを行うライブラリ feedalizerhtmlからRSSフィードを作るのに役立つライブラリ scrAPIパーサを定義することでHTMLを解析するライブラリ ウェブサイトから必要なデータを抽出すること。(Scrape = 削り取る) ライブラリによっては、受信したデータの解析だけでなくデータの送信にも対応している。 例: RSSを配信していないウェブサイトのHTMLをスクレイピングして野良RSSを作る Googleの検索結果をスクレイピングして自動でGoogle検索するスクリプトを書く ブログの投稿ページを解析して、コマンドラインから
このページを最初にブックマークしてみませんか?
『mono.kmc.gr.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く