インフルエンサーフォロー 明石家さんまフォロー FNS27時間テレビフォロー フジテレビフォロー タレントフォロー
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
かなーり今更感がありますが。 モジュール自体は、大分前にウェブにあったスクリプトをコピペして使ったときにインストール済みでしたが、なんとなく難しそうで敬遠していたところもありました。 が、やってみると簡単かつパワフルなモジュールであることがわかりました。 参考:use Web::Scraper; - 今日のCPANモジュール XPathがなかなかわからないのですが、CSSセレクタでもいけるのが超絶簡単です。 例えば、aタグのhref属性を取得する場合のprocessは以下のとおり。 process 'a', 'urls[]' => '@href'; で、この場合だと、href属性がないaタグも対象になってしまうので、未定義(undef)が入る場合があります。 なので、href属性があるものだけを対象としたのが以下のprocessです。 process 'a[href]', 'url
auのBREWの端末のIPは通常のezwebがアクセスしてくる帯域とは違うことを最近知った。 http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html http://www.kddi.com/business/otoiawase_support/support/tec/index.html で、BREWアプリのサイトのapacheにIPアドレスのアクセス制限かけろや、と見えない力が働いてきたのでIP帯の更新チェックをしようと思いました。が、WWW::MobileCarrierJP::EZWebにはBREWのCIDRを取ってくるモジュールがなくてしょんぼり。(WWW::MobileCarrierJP::EZWeb::BREWっていうBREWに対応している端末のリストを取ってくるモジュールはあった。) 需要ないのんかな?作者(id:tok
最高気温:12℃ 最低気温:3℃ _ Web::ScraperとPlaggerで鉄道運行状況を取得する JRの列車遅延情報を携帯にメールするようにしてみたのだが、私鉄の運行状況も取得したくなったので、私鉄をカバーしている鉄道運行情報 - livedoor 路線案内をスクレイプするスクリプトを書いてみた。 書いたものはCodeReposにcommit済み。 Plaggerから携帯にメールを飛ばす場合のYAMLはこんな感じ。 plugins: - module: Subscription::Config config: feed: - url: 'script:/path/to/plagger/assets/plugins/CustomFeed-Script/transit_livedoor_com_traffice_info.pl http://transit.livedoor.com/tr
めも - XXXannexでxpathだけ考えといてスクリプトにしていなかった。 なにやらゴチャゴチャしてしまったなあ。俺のコードはモダンなモジュールを使いこなすほど洗練されてない、というのがよく分かるなw もうちょいうまいこと書けそうな気もするのだが・・・とりあえず動くということで。 use strict; use warnings; use Web::Scraper; use URI; use URI::Escape; use Data::Dumper; use List::MoreUtils qw(uniq); my $uri = new URI('http://ja.wikipedia.org/wiki/Category:%E6%97%A5%E6%9C%AC%E3%81%AE%E5%A5%B3%E6%80%A7%E5%A3%B0%E5%84%AA'); my $uris = scr
AdobeのページからScrapeするやり方、またはAdobe Support - サービスデータベース -のRSS スポンサードリンク Tweet M.C.P.C.: アドビは新ソフト発売時デフォルト値を公表しておいてもらえるとありがたい:Comment 本エントリと直接関係ない話ですみません。どこに書き込んでよいか分からなかったもので。 実はRSSを作成してもらえないかなあ、という依頼です。 ページは「Adobe Support - サービスデータベース -」http://support.adobe.co.jp/faq/faq/cfaqindex.sv です。最近CS4の発売が近いせいか、結構重要な記事が登録されています。 Webのほうはからっきしなので、可能かどうかすら分からないのですが、もしできましたらお願いします。 投稿者: お~まち (2008/12/19 7:36:25) W
久々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', summary => 'TEXT'; process 'div.section', body => 'RAW'; }; my $scanner = scraper { process '//td[.//span[text()="主なニュース"]]//ul/li', 'entries[]' => scraper { process 'a', title => 'TEXT
先日、Web::ScraperというPerlモジュールを初体験したのですが、これが非常に便利です。「今日のCPANモジュール」で紹介されているように、対話式のコマンドラインインターフェースがあって、これで実験しながらスケルトンを作成できるのも便利。Web::ScraperはHTMLの解析に強いのですが、クローリングに強いWWW::Mechanizeと組み合わせるとその素晴らしさは筆舌に尽くし難いものがあります。 ちょっと感動したので、今まで自分が使ったことのある、PerlのWebクライアントライブラリの系譜をまとめてみました。これを、以下のように理解して、使い分けています。 クローリングのトレンドはWWW::Mechanize、Plagger、Gungho辺りを使い分け クローリング系ライブラリの基本はLWPとHTTP::*、どのライブラリでもこれらの知識は必要(たぶん必須) HTMLパー
We’re getting things ready Loading your experience… This won’t take long.
« vimからVisual Studioを操作出来るvisual_studio.vimの日本語対応してみた。 | Main | ゆの in Boo » HTML::TreeBuilderは便利だけど、データ構造がロジックになってしまうのが難点。 Perlでブックオフの店舗を検索し、結果をハッシュの配列に格納する - As a Futurist... HTMLを解析する練習です。Perlの配列とかハッシュの扱いも少し分かりました。 以下のブックオフの検索をPerlでやっただけです。 http://blog.riywo.com/2008/03/31/164327 ってことでWeb::Scraperで。 #!/usr/bin/perl -w use strict; use warnings; use URI; use Web::Scraper; use YAML; my $str = shift
■主な機能1. YAML を書くだけで簡単に大量の画像を手に入れることができる。 2. 過去に取得した画像(ファイル名でチェック)は取得しない。 3. たどるページ数を制限できる。 1. がこのモジュールの主旨。 2. の機能があるおかげで、取得した画像を整理したり、いらないものを削除したりしても、もう一度同じ画像を取得してしまうことがない。 3. 最初に取得するときはたくさんのページをたどるようにしてスクリプトをキックし、その後例えばcron で定期的にまわす場合などは、たどるページを1とかにすると相手のサーバにも負担をかけなくて良い。 ■使い方1. YAMLを書く (config.yaml)--- img_dir: /Users/junichiro/Pictures/e3 uri: http://www.e-3.ne.jp/image?p= max_cnt: 1 process: pr
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
We’re getting things ready Loading your experience… This won’t take long.
We’re getting things ready Loading your experience… This won’t take long.
Web::Scraperのjavascriptバージョンwebscraper.jsのとおりどっちとしてもvalidになるものがあるので、書くひとがどっちなのかを明示できるのが合理的だと思う。 そのうえでCSSセレクタを観察するとXPathでよく使われる / がセレクタの中で存在し得るのは E[foo="value"] のときだけなので / があるかどうかで判別すると簡潔に処理できる。 / がなくてXPathかCSSか誤判別する可能性があるとき、例として a という式の時にCSSだとコンテキストの子孫のa全部にマッチするけどXPathだとコンテキストの直接の子だけがマッチする。このときXPathであることを明示したければ ./ が自分自身をさすことを利用して ./a と書くことができる。つまり、どんなXPathも同じ意味のまま / を含んでいる形式で書き直すことができるので / の有無でCS
Web::Scraperのshellをhistoryから補完できるようにしてみました。 shell系は使わないと忘れてしまうので、historyがあったほうがいいかなと思って作ってみました。 ~/.scraperhistoryを作っておくと、historyが使えるようになります。 Web::Scraperのshellでhistory補完 - dann's blog - # おお,たしかに history があると便利。Term::ReadLine ってちょろっと設定するだけでヒストリ保存とかしてくれなかったっけ?と思ったら,別のモジュールでした。 以前*1も使いましたが,Term::ShellUI という CPAN モジュールを使うと高度なシェル機能を簡単にインプリメントすることができます。 特色は, 各コマンドへのサブルーチンリファレンスを指定するだけ エイリアスも指定できる desc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く