東京都台東区で黙々とウェブでサービスを開発している株式会社アストロデオのホームページです。
東京都台東区で黙々とウェブでサービスを開発している株式会社アストロデオのホームページです。
ExtractContentJSはJavaScript製のオープンソース・ソフトウェア。ブログやWebサイトのデータを集積して、そこから情報を吸い出して何らかのサイトを構築するというサービスは多い。その時重要になるのが特定URLからの本文抽出だ。サイドバーやヘッダーなど余計な情報を省くことでより意味のあるコンテンツが得られるようになる。 画面下の文字列が本文抽出した結果 Rubyであれば以前紹介したExtractcontentというライブラリがある。そしてそれをベースのはてなにてJavaScript実装したのがExtractContentJSだ。JavaScriptベースの実装とあって、クライアントベースで抽出を行いたいという時に使えそうなライブラリだ。 使い方は簡単で、ExtractContentJSのオブジェクトを作ったら現在表示されているページのオブジェクト(document)を渡す
概要 Web から情報を取得したいというニーズは、いまや当たり前のものになりました。 対象サイトが Web API を提供している場合、話は簡単です。しかし Web API を提供しているサイトばかりではありません。というより、数で言うなら Web API を提供していないサイトの方が圧倒的多数です。そんなサイトの中にほしい情報があった場合は、否応なく Web ページを直接取得して情報を解析・抽出する必要があります。 原始的と言うか地道と言うか、とにかくこのベタなやり方を称して「Web スクレイピング」(文脈によっては単に「スクレイピング」)と呼びます(海外では Web harvesting と呼ぶ場合も多いですが、なぜか日本ではこっちはほとんど用いられないようです)。 Access VBA で Web スクレイピングを行う方法については、本サイトにすでに関連トピックが二つ存在します。 W
htmlSQLはWebスクレイピング(部分的にHTML抽出)を可能にするPHPライブラリです。ソースが公開されていたのでご紹介します。 ※先日、お知らせさせて頂きましたように、この記事は僕が管理していた別のブログの過去記事を移行したもので正確性に欠ける可能性があります。何卒ご了承願います。 HTML内を部分的に取り出し、表示する事で、それを容易にするスクリプトがhtmlSQLというPHPライブラリです。DOM解析をSQL風に指示するらしい。 デモがありますのでご体感下さい。→htmlSQL – live example 以下のコードを使うようです。 <?php /* ** htmlSQL - Example 1 ** ** Shows a simple query */ include_once("../snoopy.class.php"); include_once("../htmlsq
http://blog.labnotes.org/category/scrapi/ ruby でスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。たとえばとあるサイトのリンクを全部取得したければ、 require 'rubygems' require 'scrapi' require 'open-uri' require 'nkf' require 'pp' $KCODE = 'u' links = Scraper.define do process "a[href]", "urls[]"=>"@href" result :urls e
RSSフィードやWeb API、Mashupなどの単語が注目を集める中、Webクローラーを通じて外部のWebサイトにあるデータをかき集め、それを解析して別な形にするというのはよく見られるものになってきた。 あるURLを指定し、そこからリンクされているURLを一覧表示できる そうした数々のシステムの中で、クローラーとなる基盤は大きな違いはない。Webサイトのデータを取得し、次のリンクを洗い出して取得していくようなものだ。そうした共通動作部分を切り出したフレームワークがAnemoneだ。 今回紹介するオープンソース・ソフトウェアはAnemone、Webクローラを開発するためのフレームワークだ。 Anemoneは任意のWebサイトにアクセスし、その内容を解析するWebクローラーだ。例えばあるURLに付けられているリンクを一覧で取得するようなことも簡単にできる。外部サイトなのかどうかも区別できるの
釣り師的なタイトルで申し訳ないです。 今仕事でリスト取得ツールを作っているのですが、 その応用としてニコニコを実験場としたサンプルを作ってみることにします。 スクレイピングというのはHTMLパースのことですね。 RubyのスクレイピングライブラリとしてはHpricotがあります。 Hpricotの名前の由来は不明ですが、エイチプリコットと呼んでいます。 このHpricotはCSS風の書き方で気軽にスクレイピングできるのでとても使いやすいです。 とりあえずいきなりコード。 ニコニコのデフォルトランキング、本日のマイリスト登録数ランキング100から 動画のタイトルをひっぱってくるサンプルです。 #! ruby -Ks require 'net/https' require 'kconv' require 'rubygems' require 'hpricot' sid = nil
1. はじめに このサイトは php を利用したスクレイピング処理の具体的手法について記載されたサイトにしようと思っています。なので、あまり面白いサイトではありません。内容も偏重していることと思いますが、ご質問などがございましたら、りょーちまでご連絡ください。 1.1. スクレイピングとは スクレイピングの話しを始める前に、現在のWebサービスについて幾つか言及しておきます。 現在様々な会社が様々なWebサービスを展開しています。かなり昔、今よりWebサイトそのものが少ない頃の時代は、HTMLファイルを手動で作成することが殆どでした。しかし、現在はバックグラウンドにデータベースが存在し、データベースの内容を動的に表示し、ページを作成するようなサイトがかなり多くなっています。 さて、データベースを利用するメリットは何でしょうか? 幾つかの視点が挙げられると思います。 最も重要な点は、ひとつひ
スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLのスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 Ruby、HTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::
Hpricotは Ruby用の HTML パーサです。スキャン部分は C 言語で書かれていて高速に動作します。 HTMLの解析や書き換えに威力を発揮する便利なライブラリです。 rubygemsを使うのが簡単です。 # gem install hpricot すると以下のようにプラットフォームを聞いてきます。Unix系OSであれば 1 を、mswin32 であれば 2 を選びます。 Select which gem to install for your platform (i386-freebsd6) 1. hpricot 0.4 (ruby) 2. hpricot 0.4 (mswin32) 3. Cancel installation コンパイルが始まり、インストールが行われます。 Building native extensions. This could take a while.
ScrapyはPython製のオープンソース・ソフトウェア。Webサービスから必要な情報を抜き出したり、自動操作をしたりと未だに利用されているのがスクレイピングと呼ばれる技術だ。求人、不動産、Eコマース…様々なサイトの情報を機械的に収集し、データベースに蓄積している。 Pythonで外部サイトからデータを収集する際に RubyでWebシステムを開発している場合、HpricotやNokogiriを使っていたが、Pythonによる開発の場合はどうしたら良いだろう。そこで使えるのがScrapyだ。ScrapyはPythonで開発されたスクレイピングとクローリング用フレームワークだ。 ScrapyではWebサイトにアクセスしてデータを取得し、そのデータからXPathを使ってコンテンツにアクセスできる。オブジェクト指向に従って、柔軟に操作ができるのが便利だ。スクレイピングしたデータを使ってWebサイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く