(明らかに途上)JRAのニュースを引っ張ってくるためのplagger設定ファイル
引っこ抜くメインの設定
assets/plugin/Filter-EntryFullText辺りに
jra.yamlを作成
# 2007-10-08 author: senchou custom_feed_handle: http://www\.jra\.go\.jp/ custom_feed_follow_link: .*?(/news/\d{6}/\d{6}|/datafile/).*?\.html handle: http://www\.jra\.go\.jp/(news|datafile).*?.html extract_xpath: body: /html/body/table//tr/td/table[@width="793"][4]
リンクURLの修正
assets/plugin/Filter-TruePermalink辺りに
jra_datafile.yamlを作成
author: senchou match: http://www\.jra\.go\.jp/\.\./datafile/ rewrite: s!http://www\.jra\.go\.jp/\.\./datafile/!http://www\.jra\.go\.jp/datafile/!
config.yaml
RSSを吐き出すための設定。jra2rss.yamlなどで保存。
実行は plagger -c /Users/tbce/jra2rss.yaml みたいな感じで。
global: timezone: Asia/Tokyo plugins: - module: Subscription::Config config: feed: http://www.jra.go.jp/ - module: Filter::TruePermalink - module: Filter::EntryFullText - module: Publish::Feed config: dir: /Users/senchou/horse/rss format: RSS filename: jra.rss
データ重複しまくるけど、Gmailで見る事も可能。
module: Publish周りを修正。
Publish::FeedとPublish::Gmailを併記すれば、RSSを作ると同時にメール発射になる。
- module: Publish::Gmail config: mailto: *****+jra@gmail.com mailfrom: *****+jra@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: *****@gmail.com password: *************
補足(というか言い訳)
- テーブルを丸ごと引っこ抜いているので色々エラい事になってしまっている。修正課題
- 日付情報が入っていない。面倒で、、、修正課題
- JRAのRSSを取得した上でFilter::EntryFullText噛まそうとすると失敗する。Filter-EntryFullTextに書いてある正規表現が無茶苦茶なのが原因だと思う。よく知らんもんで、、、修正課題
- JRAのサイトはテーブルレイアウトの素敵HTMLで、HTMLソースを目で追うと悲惨な事になるので、XPathを使って引っこ抜いている。Firefoxの拡張XPath Checkerの出番。その場で抽出結果を見ながら弄れる。
- XPath Checkerだと/html/body/table/tbody/tr/td/table[4]/tbody/tr/tdで抽出出来るけど、これだとplaggerの方で失敗。何種類か試して/html/body/table//tr/td/table[@width="793"][4]にした。
- 上記のXPath設定だとプレレーティングページの結果がおかしい。修正課題
- Filter-TruePermalink。ブラウザでアクセスする場合、http://www.jra.go.jp/../datafile/はhttp://www.jra.go.jp/datafile/に飛ぶ。ブラウザが直してるのかリダイレクトされてるのかは知らん。そのままではplaggerでは動かなかった。
- 出力はRSS出力、Gmail出力だけじゃなくて、多様な方法がある。試してないだけ。