以下のスクリプトで困ってます。質問をスクリプトの下に書きましたので、よろしくお願いします。 #------------------------------------------------------------------ #!C:/strawberry/perl/bin/perl use strict; use Web::Scraper; use URI; use YAML; use ... 続きを読む
For $work I need to write scrapers. It used to be boring and painful. But thanks to miyagawa, this is not true anymore. Web::Scraper offer a nice API: you can write your rules using XPath, you can chaine rules, a nice and simple syntax, etc. ... 続きを読む
http://github.com/tokuhirom/html--treebuilder--libxml/tree/masterWeb::Scraper で複雑な HTML をパーズしようとすると、HTML::TreeBuilder::XPath がボトルネックになることが知られており、Web::Scraper には libxml ブランチが存在する(http://d.hatena.n... 続きを読む
かなーり今更感がありますが。 モジュール自体は、大分前にウェブにあったスクリプトをコピペして使ったときにインストール済みでしたが、なんとなく難しそうで敬遠していたところもありました。 が、やってみると簡単かつパワフルなモジュールであることがわか... 続きを読む
perlauのBREWの端末のIPは通常のezwebがアクセスしてくる帯域とは違うことを最近知った。http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.htmlhttp://www.kddi.com/business/otoiawase_support/support/tec/index.html で、BREWアプリのサイトのapacheにI... 続きを読む
最高気温:12℃ 最低気温:3℃ _ Web::ScraperとPlaggerで鉄道運行状況を取得する JRの列車遅延情報を携帯にメールするようにしてみたのだが、私鉄の運行状況も取得したくなったので、私鉄をカバーしている鉄道運行情報 - livedoor 路線案内をスクレイプするスク... 続きを読む
めも - XXXannexでxpathだけ考えといてスクリプトにしていなかった。なにやらゴチャゴチャしてしまったなあ。俺のコードはモダンなモジュールを使いこなすほど洗練されてない、というのがよく分かるなwもうちょいうまいこと書けそうな気もするのだが・・・とり... 続きを読む
AdobeのページからScrapeするやり方、またはAdobe Support - サービスデータベース -のRSS M.C.P.C.: アドビは新ソフト発売時デフォルト値を公表しておいてもらえるとありがたい:Comment 本エントリと直接関係ない話ですみません。どこに書き込んでよいか分か... 続きを読む
久々Plaggerネタ。めんどくさいので説明なしで... スクリプト hatena-news.pl use strict; use warnings; use utf8; use Web::Scraper; use URI; my $uri = URI->new( "http://news.hatelabo.jp/" ); my $entry_scanner = scraper { process 'h1.article', summ... 続きを読む
まえに友達の家で見た松岡修造のビデオ、あれ公式サイトにあったのかー。 use strict; use warnings; use Web::Scraper; use URI; use LWP::Simple; sub non_flv_files { my ($uri) = @_; my $scraper = scraper { process '//select[@name="mySel"]/option', '... 続きを読む
先日、Web::ScraperというPerlモジュールを初体験したのですが、これが非常に便利です。「今日のCPANモジュール」で紹介されているように、対話式のコマンドラインインターフェースがあって、これで実験しながらスケルトンを作成できるのも便利。Web::Scraperは... 続きを読む
2008年07月15日(火) 18:55 はてなブックマークで関連エントリーをぶっこ抜いてみる 良い子は公式APIを待て。 はてなブックマークにて「関連エントリー」の配信を開始しました。各エントリーのエントリーページを閲覧すると、「そのエントリーに関連する他のエン... 続きを読む
« vimからVisual Studioを操作出来るvisual_studio.vimの日本語対応してみた。 | Main | ゆの in Boo » HTML::TreeBuilderは便利だけど、データ構造がロジックになってしまうのが難点。 Perlでブックオフの店舗を検索し、結果をハッシュの配列に格納する - As a... 続きを読む
■主な機能1. YAML を書くだけで簡単に大量の画像を手に入れることができる。 2. 過去に取得した画像(ファイル名でチェック)は取得しない。 3. たどるページ数を制限できる。 1. がこのモジュールの主旨。 2. の機能があるおかげで、取得した画像を整理したり、... 続きを読む
めざまし占いカウントダウンを取得 http://search.cpan.org/dist/TRD-Uranai/ がいろいろひどすぎるので #!/usr/bin/perl use strict; use Web::Scraper; use URI; my $uri = URI->new("http://www.fujitv.co.jp/meza/uranai/"); my $scraper = scraper { proce... 続きを読む
スクレイピングして何すんだと言われましても、スクレイピングがしたくてしょうがないmattnです。 今日、WWW::Mechanize::Plugin::Web::Scraperというcpanモジュールを(otsuneさんのブクマ経由で)見つけました。モジュール名の通り、WWW::MechanizeからWeb::Scr... 続きを読む
47876 Uploads, 16085 Distributions 61560 Modules, 6908 Uploaders 続きを読む
追記 コメント欄でotsuneさんにご指摘頂きました。scraperのprocess部、LWPの初期化をループ内で行わないようにしました。 やっぱり書いた記事にはてなスターが付くと嬉しいものですよね。出先でちょっとした間にはてなスターが付いているのを見て、ニタニタし... 続きを読む
Web::Scraperのjavascriptバージョンwebscraper.jsのとおりどっちとしてもvalidになるものがあるので、書くひとがどっちなのかを明示できるのが合理的だと思う。そのうえでCSSセレクタを観察するとXPathでよく使われる / がセレクタの中で存在し得るのは E[foo=... 続きを読む
perlWeb::Scraperのshellをhistoryから補完できるようにしてみました。shell系は使わないと忘れてしまうので、historyがあったほうがいいかなと思って作ってみました。~/.scraperhistoryを作っておくと、historyが使えるようになります。Web::Scraperのshellでh... 続きを読む