トップ «前の日記(2006-09-10) 最新 次の日記(2006-09-12)» 編集

活動日誌


2006-09-11

[Plagger]UserAgent 文字列を変える

global.user_agent.agent で指定できる。

global:
  user_agent:
    agent: FooBar

[Plagger]Subscription::XPath

otsune さんからコメントをいただきました。 (ツッコミは URI を 5 つまで許すようにしてみました。 どうもご迷惑をおかけしました。Trackback は……何でだろう?)

http://subtech.g.hatena.ne.jp/otsune/20060911/followlink

確かに Subscription::XPath がそれっぽそうなので試してみたところ……

% w3m -dump_source http://shakenbu.org/yanagi/d/s/20060911/index.html
<html>
<head>
<title>index</title>
</head>
<body>
<div id="hoge">
[<a href="1.html">1</a>]
[<a href="2.html">2</a>]
</div>
</body>
</html>

% cat test2.yaml
plugins:
  - module: Subscription::XPath
    config:
      url: http://shakenbu.org/yanagi/d/s/20060911/index.html
      xpath: //div[@id='hoge']//a

  - module: CustomFeed::Simple

  - module: Publish::Debug


% plagger -c test2.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::XPath loaded.
Plagger [info] plugin Plagger::Plugin::CustomFeed::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Debug loaded.
Plagger::Util [debug] Fetch remote file from http://shakenbu.org/yanagi/d/s/20060911/index.html
Plagger::Cache [debug] Cache HIT: Subscription-XPath|http://shakenbu.org/yanagi/d/s/20060911/index.html
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::Aggregator::Simple [info] Fetch http://shakenbu.org/yanagi/d/s/20060911/1.html
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://shakenbu.org/yanagi/d/s/20060911/1.html
Plagger::Plugin::Aggregator::Simple [debug] 304: http://shakenbu.org/yanagi/d/s/20060911/1.html
Plagger [error] http://shakenbu.org/yanagi/d/s/20060911/1.html is not aggregated by any aggregator
Plagger::Plugin::Aggregator::Simple [info] Fetch http://shakenbu.org/yanagi/d/s/20060911/2.html
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://shakenbu.org/yanagi/d/s/20060911/2.html
Plagger::Plugin::Aggregator::Simple [debug] 304: http://shakenbu.org/yanagi/d/s/20060911/2.html
Plagger [error] http://shakenbu.org/yanagi/d/s/20060911/2.html is not aggregated by any aggregator

とエラーになってしまいました。

Subscription::Config で follow_link を書かなかったときと同じエラーだなぁ。

Plagger の YAML ファイルのサンプルを見てまわると、この follow_link は書かれていたり書かれていなかったりして、 どんな場合に必要なのかよくわからない。

% cat test.yaml
plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://shakenbu.org/yanagi/d/s/20060911/index.html
#          meta:
#            follow_link: .*

  - module: CustomFeed::Simple

  - module: Publish::Debug
% plagger -c test.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::CustomFeed::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Debug loaded.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::Aggregator::Simple [info] Fetch http://shakenbu.org/yanagi/d/s/20060911/index.html
Plagger::Cache [debug] Cache MISS: Aggregator-Simple|http://shakenbu.org/yanagi/d/s/20060911/index.html
Plagger::Plugin::Aggregator::Simple [debug] 200: http://shakenbu.org/yanagi/d/s/20060911/index.html
Plagger [error] http://shakenbu.org/yanagi/d/s/20060911/index.html is not aggregated by any aggregator

ソースを追いかけてもみたけれど、Perl は文法からしてよく知らないので頓挫。

本日のツッコミ(全1件) [ツッコミを入れる]
_ otsune (2006-09-12 01:37)

follow_linkしないのはPerlとは無関係で単にXPathが拾えていないのかもしれないので<br>xpath: //div['hoge']/a<br>みたいにすればokかも?


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
2022|05|
トップ «前の日記(2006-09-10) 最新 次の日記(2006-09-12)»