IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
RSSフィードやWeb API、Mashupなどの単語が注目を集める中、Webクローラーを通じて外部のWebサイトにあるデータをかき集め、それを解析して別な形にするというのはよく見られるものになってきた。 あるURLを指定し、そこからリンクされているURLを一覧表示できる そうした数々のシステムの中で、クローラーとなる基盤は大きな違いはない。Webサイトのデータを取得し、次のリンクを洗い出して取得していくようなものだ。そうした共通動作部分を切り出したフレームワークがAnemoneだ。 今回紹介するオープンソース・ソフトウェアはAnemone、Webクローラを開発するためのフレームワークだ。 Anemoneは任意のWebサイトにアクセスし、その内容を解析するWebクローラーだ。例えばあるURLに付けられているリンクを一覧で取得するようなことも簡単にできる。外部サイトなのかどうかも区別できるの
以前に、唐突に「botをつくりてー」と書いたわけですが。 (過去記事)botを作りたい - (旧姓)タケルンバ卿日記 2008-11-29 昨日、ギークハウス2にて、以下のメンバーと勉強会を実施。 へだち(pettan.jp) id:crystaline(Crystaline [クリスタライン]) yteppei(http://marke.seesaa.net/) 様々な方のご協力、ご支援、ご指導のもと、何とか形になりましたよ。まだまだ改善する点はあるし、botと言い切れない部分もあるけどね。 どういう流れで作ったか、記録のためにも残しておきたいと思います。 1.どういうbotにするか決める コンセプトは「botを作りたい」で決めていた通り。 食べもの写真をTwitterに投稿するbot botを作りたい - (旧姓)タケルンバ卿日記 できることなら「生で食いてー」「焼いて食いてー」「煮て
スクレイピングのチュートリアルを書いてみた。 参考: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::
RubyによるWeb Scrapingライブラリの情報をまとめるためのWikiです。 HpricotHTMLを「Rubyらしく」扱うライブラリ MechanizeWebサイトへ自動でアクセスするためのライブラリ scRUBYt!DSLを使って簡単にスクレイピングを行うライブラリ feedalizerhtmlからRSSフィードを作るのに役立つライブラリ scrAPIパーサを定義することでHTMLを解析するライブラリ ウェブサイトから必要なデータを抽出すること。(Scrape = 削り取る) ライブラリによっては、受信したデータの解析だけでなくデータの送信にも対応している。 例: RSSを配信していないウェブサイトのHTMLをスクレイピングして野良RSSを作る Googleの検索結果をスクレイピングして自動でGoogle検索するスクリプトを書く ブログの投稿ページを解析して、コマンドラインから
3年前にこの本に出会って、僕はスクレーピングの虜になった。 おかげで正規表現をたくさん書く機会が得られたし、CPANのモジュールともたくさん触れ合うことができたし、さらに自分自身でも構造化されたHTMLを書く習慣も身についた。 ただ、やっぱり、スクレーピングは簡単ではない部分もたくさんあると思う。文字コードについても意識しなければならないし、なにより正規表現で必要な部分を抽出することそのものが結構骨のいる作業だ。HTML::TreeBuilder を使った方がいいのか、それとも正規表現だけでやったほうが楽なのか。そんなことを考慮しながらコーディングして行く。そこがスクレーピングの楽しいところでもあるのだが、そこがスクレーピングの敷居を高いものにしていることも否めない。 そんな、愛らしくもあり憎たらしくもあるスクレーピングを簡単にやってしまうのがこのモジュール、Web::Scraper だ。
http://tenki.jp/ から天気予報の情報を抜き出したい。ブラウザで見るとヘッダがうざいし、天気予報とアメダス実況は別ページなので開くのが面倒だ。そこで加工してひとつのHTMLでまとめてしまおうとするのがrubyistというもの。 Hpricotでさくっと料理してしまおう。Nokogiriでもそのまま動くぞ。あー、Nokogiriは速いんだけどgemでしか提供してないからRuby 1.8だと体感速度に響いてしまうのがよくない。「require 'rubygems'」がクソ重い。 URLはお住まいの場所に置き換えよう。 #!/usr/local/bin/ruby -Ku require 'open-uri' require 'hpricot' require 'kconv' h = Hpricot URI("http://tenki.jp/forecast/point-682.ht
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Yahooファイナンスのチャートページから現在の円レートを抜き取る。 いくつか方法があるので、それぞれで試してみた。 getIn f toHash これが素のphp4でもできるのは便利ですね。 (って、このサンプルはphp5でしか動かしてないのですが) <?php require_once('./__init__.php'); Rhaco::import('network.http.Browser'); Rhaco::import('tag.model.SimpleTag'); Rhaco::import('DD'); // $urlからHTMLを読み $url = 'http://quote.yahoo.co.jp/q?s=usdjpy=x&d=c&k=c3&t=1y&l=off&a=v&z=m&h=on&q=l&p=m65,m130,s'; $browser = new Browser
これは、 SimpleXmlとSimpleTag比較:twitterのhomeをスクレイピングしてみた。 - gounx2の日記 SimpleTag と SimpleXML->xpath の比較 (rev3115) - gounx2の日記 でやったことのまとめ的なものです。 では、本題です。 これは何か? コンテンツを http get で取ってきて、tag&id、tag&class で絞込み。 という、スクレイピングをPHPで簡単に書ける SimpleScrape を作ってみました。 rhacoのSimpleTagを使っているので、php4でも使えます。 SimpleScrape 等価なxpath式 selectTagId('div') //div selectTagId('div', 'content') //div[@id="content"] selectTagClass('div
スクレイピングを色々したくて使い勝手の良さそうな HTTP クライアントを調査。この結果で当面メインで使う言語が決まると思う。 今回の要件は、単に HTML の解析ということだけではなく、ログインが必要なウェブサービスも処理の対象になる予定なので HTTP クライアントの機能も必要になる。 まずは PHP 編。っつーか、rhaco 編。 基本のモジュールとして、以下を使う。 network.http.Browser (api: api#Browser | rhaco.org) tag.model.SimpleTag (api: api#SimpleTag | rhaco.org) ログインして xxx するみたいな例もいくつかエントリーが出ているので参考になる。 PHPでもスターを連打したい - riafの日記 - ハチロク世代 SimpleTagでスクレイピング - rhacoに関するメ
1. はじめに このサイトは php を利用したスクレイピング処理の具体的手法について記載されたサイトにしようと思っています。なので、あまり面白いサイトではありません。内容も偏重していることと思いますが、ご質問などがございましたら、りょーちまでご連絡ください。 1.1. スクレイピングとは スクレイピングの話しを始める前に、現在のWebサービスについて幾つか言及しておきます。 現在様々な会社が様々なWebサービスを展開しています。かなり昔、今よりWebサイトそのものが少ない頃の時代は、HTMLファイルを手動で作成することが殆どでした。しかし、現在はバックグラウンドにデータベースが存在し、データベースの内容を動的に表示し、ページを作成するようなサイトがかなり多くなっています。 さて、データベースを利用するメリットは何でしょうか? 幾つかの視点が挙げられると思います。 最も重要な点は、ひとつひ
<?php // //The tidy tree of your favorite ! //For PHP 5 (CGI) //Thanks to john@php.net // $file="http://www.php.net"; // $cns=get_defined_constants(true); $tidyCns=array("tags"=>array(),"types"=>array()); foreach($cns["tidy"] as $cKey=>$cVal){ if($cPos=strpos($cKey,$cStr="TAG")) $tidyCns["tags"][$cVal]="$cStr : ".substr($cKey,$cPos+strlen($cStr)+1); elseif($cPos=strpos($cKey,$cStr="TYPE")) $tidyCn
Twitter Facebook B! Bookmark LINE Pocket Feedly HTMLをスクレイピング(scraping)してあれこれとするとき、僕はずっと正規表現に頼っていたのですが、 ページの構造が変化するとすぐに使えなくなってしまうし、時間がかかる割りに退屈な作業なので何とかならないかなと思っていました。 PHPで探していたのですが、XML(とかRSS)をパースする関数やライブラリは、良く目にするものの、HTMLを処理できるものはなかなか見つかりませんでした。 以下は、PHP(とかRuby、Perl)でHTMLをスクレイピングしたりパースするための方法。 PHPでスクレイピング&パース HTMLを整形式のXML文書に修正するPHPクラス HTMLを、整形式のXMLに変換してくれるライブラリ。PEARのXML_HTMLSax3が同梱されているので、これだけでちゃんと動
■ [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize 今日は、RubyでWebサイトを解析するときに強い味方となるライブラリ、HpricotとWWW::Mechanizeを紹介します。 どちらも非常に強力なので、覚えておいて損はないよ! 以下ではまずHpricotでHTMLを解析・編集する方法について解説します。 次に、「はてなダイアリーの自動更新」を例にWWW::Mechanizeの使い方を解説します。 Hpricot HpricotはHTMLを解析するためのライブラリです。 例えば「あるページのリンクだけを全部抜き出したい」と思ったとき、どうしますか?scrAPIを使う?でもscrAPIはやっぱり ちょっと使いたいだけなのにパーザ(Scrape)用のクラスを定義するのが面倒なんだよね! Hpricotなら、たったこれだけで
APIが提供されていないサービスから欲しい情報だけを取得するには、HTMLなどから自前でスクレイピングを行うしかありません。PHPでのスクレイピングに役立つライブラリなどをまとめてみました。 PerlやRubyには色々と便利そうなものが見つかるのですが、PHPにはなかなかこれといったものがないですね。 Webスクレイピングライブラリ HTMLScraping HTMLをXML化してDOMやXPathで操作できるクラス。主にHTTP_Request+HTMLParser(XML_HTMLSax3を含む)/Tidy+Cache_Liteという構成で、スクレイピングに必要なものが一通り揃っている。ライセンスはLGPL他。 WebScraper シンプルな汎用スクレイピングクラス。HTTP_Client+HTMLParser(XML_HTMLSax3を含む)という構成で、XPathで要素を抽出でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く