人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

スクレイピングでのXPathの使い方について質問です。

Web::ScraperでXPathを使って特定の要素を取り出し方はわかったのですが
たとえば

<br>
<br>
<b>大きく</b>
<br>
<br>
普通に
<br>
<br>

このようなIDやクラスを使われていない場合に「普通に」部分だけ取り出す指定の仕方はどうやるのでしょうか?

具体的な例があれば解説は不要です。


●質問者: robopit
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Lhankor_Mhy
●20ポイント

'/html/body/text()'
http://jsfiddle.net/AZn6W/


2 ● Cherenkov
●100ポイント ベストアンサー
/html/body/text()[contains(.,"normal")]

http://jsfiddle.net/cherenkov/pFsME/1/

jsfiddleで動作確認するために/html/body/とかいていますが、適当に//text()から始めたほうが汎用的ですね。一応。

contains(str1, str2)
str1の.はコンテキストノード自身。

参考:「ツイート」を「ツイート(笑)」に置換するブックマークレット - IT戦記




追記:
コメントに書いたもの
https://gist.github.com/2314469

参考:よしいずの雑記帳 Web::Scraperを使ったPerlプログラムの例


robopitさんのコメント
こちらがサンプルになりますhttps://gist.github.com/84958dbb49ecb3c9ebb9 //td/text()[not(normalize-space(.)="")] で出来ましたありがとうございました
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ