第一回(?) MySQL Beginners Talkにて発表した同名セッションスライドの公開版です。Read less
第一回(?) MySQL Beginners Talkにて発表した同名セッションスライドの公開版です。Read less
Webページの自動カテゴライズ の続き。 前回書いたとおり、パストラックで行っている Web ページのカテゴライズでは、Web ページの本文抽出がひとつの鍵になっています。今回はその本文抽出モジュールを公開しつつ、使っている技法をざっくり解説などしてみます。 本モジュールの利用は至極簡単。require して analyse メソッドに解析したい html を与えるだけ。文字コードは UTF-8 です。 【追記】大事なこと書き忘れ。本モジュールは Ruby1.8.5 で動作確認していますが、特別なことはしていないので、1.8.x なら動くと思います。 $KCODE="u" # 文字コードは utf-8 require 'extractcontent.rb' # オプション値の指定 opt = {:waste_expressions => /お問い合わせ|会社概要/} ExtractCont
2009年07月10日03:15 Ruby Ruby でスクレイピングするなら scrAPI の parser_options とか WWW::Mechanize の Pageオブジェクト とかに気を付けろ!! タイトルの通りですが、Ruby でスクレイピングするときって、scaAPI とか WWW::Mechanize を利用するんではないかと思います。hpricot とかも使うかも知れませんが・・。ってことで、自分で実際に使ってみたときに困ったことなどをまとめてみました〜。 scrAPI - スクレイピングのお供 Ruby で scrAPI を使うときにはこのように process に取得したい要素をセレクタで指定したり、取得する値("@src" とか :text とか)を指定したりします。以下のようにすると、imgタグのsrc部分を抽出して data[:urls] に、aタグのテキス
ExtractContent を使えばいい。 Webページの本文抽出 (nakatani @ cybozu labs) ただ、上の記事の ExtractContent は Ruby1.9 以上では動かなかった。正規表現エンジンが変わったからね…。 無ければ自分で修正することを前提に、GitHub で探したら、案の定 1.9 対応版を発見した。 mono0x/extractcontent 試しにこれを使ってみよう。 Gemfile に gem "extractcontent", github: "mono0x/extractcontent" を追加し、bundle でインストール。 使い方は簡単で、本文を抽出したい HTML を ExtractContent.analyse メソッドに渡すだけ。タイトルと本文が返ってきた。 # coding: utf-8 require "open-uri"
NAME HTML::ExtractContent - An HTML content extractor with scoring heuristics SYNOPSIS use HTML::ExtractContent; use LWP::UserAgent; my $agent = LWP::UserAgent->new; my $res = $agent->get('http://www.example.com/'); my $extractor = HTML::ExtractContent->new; $extractor->extract($res->decoded_content); print $extractor->as_text; DESCRIPTION HTML::ExtractContent is a module for extracting content fr
オライリーから出ている「ユーザーインターフェースデザインの心理学」から使えそうなものを実例を踏まえピックアップ!これでUIデザイン説明の説得力をあげよう! 情報は一度にすべて見せるのではなく、そのとき必要なものを段階的に開示させた方がよい。 デザイナーが犯しがちな失敗は一度に大量の情報をユーザーに与えてしまうことです。 情報は一度に大量に与えるのではなく、その時点で必要としている情報だけを与えるほうが様々なニーズに対応することができます。 ユーザーの中には大まかな説明でよい人もいれば、詳細を知りたがっている人もいます。 つまりどういう事? 情報は一度に見せるのではなく段階的に見せる 重要なのはクリック回数ではない。クリックのたびに必要な情報が手に入るのであればユーザーは喜んでクリックする 誰がいつ何を必要としているかを理解する。各段階で何を必要としているか的確に把握していないと、この手法は
Yak Shaving の誘惑に打ち克つ ソフトウェアを作っている途中で、「これを作るのを効率化するためには ○○ が必要だ」と思い、本来やっていた作業の手を止めて ○○ を作り始めてしまうことは往々にしてある。 しかしその作り上げた ○○ が最終的に本当に(長期的にみて)効率化に役立ったケースは、自分の経験からいって 10 個のうち 1 つくらいではないかと思う。 効率化のための努力をするなということではない。大事なのは、アイデアを寝かせることだ。 人はゴミみたいなアイデアでも、気付かずにこれこそが素晴らしいアイデアだと信じこんでしまう。自分の考えたアイデアには愛着が湧くものだ。 そのアイデアが本当に優れているかどうか客観的に判断するには時間が必要だ。最低でも 1 晩、できればもう 2, 3 度は同じ必要性を感じてから作るのがいい。 1 回しか必要性を感じたことのないものをその場の勢いで
パソコンの遠隔操作事件で、19日から連絡が取れなくなっていたインターネット関連会社の元社員、片山祐輔被告から19日夜、弁護団に連絡があり、関係者によりますと、片山被告は「私が犯人だ」と認めたうえで、先週、報道各社などに届いたメールを送ったことも認めたということです。 捜査関係者によりますと、片山被告は現在、都内の弁護士事務所にいるということです。
人間とウェブの未来 - Linuxエンジニアを目指して入社一年目にやって役にたったと思う事 で紹介されていた書籍のうちのひとつ。 原版は90年代前半くらいに出版されていて、今から20年前くらいに書かれた本だった。 小さいソフトウェアを組み合わせて大きなソフトウェアをつくるのがとにかく良いことで、 ひたすら、下記のワンライナーみたいなのがいかに最高かが書かれている。 $ tail -10000 access_log | cut -f 1 -d ' ' | sort | uniq -c | sort -nr | head -10 UNIX勉強するときにだいたいそういうことは勉強するんだけど、ある日気づいたら忘れてしまっていて、今つくってるソフトウェアにどんどん機能を追加していたりする。 もしくはシェルスクリプトを30行ぐらい書けばすむことをいろいろなオプションを処理させるためにがんばってRub
「Rubyならこう書く」あれこれ Arrayオブジェクト Rangeオブジェクト ブロックとProcオブジェクト シンボルとハッシュ クラスとコンストラクタ (追記) ブロックとProcオブジェクトについては、長くなったので以下に分離しました。 [Ruby基礎] ブロックとProcをちゃんと理解する http://qiita.com/kidachi_/items/15cfee9ec66804c3afd2 配列(Array) 要素の操作 #配列要素の分割 > "foo bar bazz".split => ["foo", "bar", "bazz"] #配列要素の指定文字列での分割 > "fooxbarxxxxbazz".split('x') => ["foo", "bar", "", "", "", "bazz"] #配列要素の順番入れ替え > "foo bar bazz".split.r
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く