鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

ニュースサイトのRSSをスクレイピング HTML::Selector::XPath

ニュースサイトのRSSスクレイピングしている。 というのも、ニュースサイトのRSSはカテゴリ毎に細分化されていて 集めるのが大変だから。以下のような、a要素が2つ続いている(2つともおなじURL) の場合、どうしようかと思ったら。 兄弟セレクタ(弟を取る) a+aでなんとか切り抜けた。なんか、クイズみたいで面白い。

最初はli:first-childで行こうとしたら Missing base argument となってうまくいかなかった。 使い方が悪いのかな・・

やっぱり使い方がわるかったようです。

HTML::Selector::XPath のSEE ALSOでCSS2セレクタ仕様書リンクがあって、よんでみました。

「li a:first-child」でうまくとれました。

<li>
<a href="http://feeds.abcnews.com/abcnews/topstories" target="_blank">
<img src="http://a.abcnews.com/images/technology/rss_chicklet.jpg">
</a>
<a href="http://feeds.abcnews.com/abcnews/topstories" target="_blank">Top Stories</a>
</li>