タグ

xpathに関するCherenkovのブックマーク (22)

  • XPathGraph がすごい件と、XPath で出来ることのヒント - IT戦記

    XPathGraph とは http://xpath.kayac.com/ URL と XPath を指定すると一日に一回その URL をスクレイピングして XPath 式が示す値をグラフにしてくれる!という画期的なサービスです。 例えば、 URL と XPath を指定するだけで以下のようなグラフが作れてしまいます。 当に楽しいことが出来そうでワクワクしてます! でも まだ XPath を登録している人が意外と少ないので、「ひょっとして、このサービスの使いどころが分からないのかなあ。」と思いました。 というわけで XPath で出来ることのヒントを少し紹介したいと思います。 足し算、引き算、かけ算、割り算 XPath では普通に数値の演算ができます。 たとえば、 //div[@class=counter] で取得してきた div 要素が 1000 という数値を持っていたとすると 2 *

    XPathGraph がすごい件と、XPath で出来ることのヒント - IT戦記
    Cherenkov
    Cherenkov 2011/07/13
    計算 足し算引き算掛け算
  • xpath cover page

    XPath 3.0 (renamed from XPath 2.1 to align with the family of "3.0" specifications) is an expression language that allows the processing of values conforming to the data model defined in [XQuery and XPath Data Model (XDM) 3.0]. Some of the important new features since XPath 2.0 are: Literal function items, inline functions, dynamic function invocations, and function item coercion Clarification of

    xpath cover page
  • XPath に文字列を埋め込むときの注意 - IT戦記

    よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をしないんですよね たとえば、以下のような例です。 var text = '"] | /hoge/fuga/piyo | .["'; document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); というわけで 任意の文字列を XPath の式に変換する JavaScript を書いてみた 以下で試せます http://amachang.sakura.ne.jp/misc/xpath_es

    XPath に文字列を埋め込むときの注意 - IT戦記
  • JavaScript-XPath/XPath_to_CSS_Thinking – CodeRepos::Share – Trac

    XPath から CSS Selector への変換を真剣に検討するページ XPath を IE8 で querySelector 出来るセレクタに変換する方法を考えよう」 HTML で使用することに特化していい XPath から要素を取得する過程で使う目的 ブレスト 出来る系 //aaa//bbb//ccc => aaa bbb ccc /aaa/bbb/ccc => html > bbb > ccc (ルートは html と決まっているから妥協) id("hoge") => #hoge id("hoge") | //aaa[@hoge="fuga"] => #hoge, aaa[hoge="fuga"] //aaa/*[not(preceding-sibling::*)] => aaa > *:first-child //aaa[contains(@hoge, 'fuga')] =>

    Cherenkov
    Cherenkov 2010/05/26
    selector / XPath から CSS Selector への変換を真剣に検討するページ
  • Netscape XSLT/XPath リファレンス - XSLT: 拡張可能なスタイルシートの言語変換 | MDN

  • XML Path Language - Wikipedia

    XML文書に XPath の式を適用したイメージ XML変換におけるXPathの位置付け XML Path Language (XPath(エックスパス)) は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文である。XPath自体は簡潔な構文 (式言語) であり、XMLベースのマークアップ言語ではない。標準化団体 W3C (World Wide Web Consortium) で開発され、1999年11月16日に XML Path Language (XPath) 1.0 が XSL Transformations (XSLT) 1.0 と同時に勧告として公表された[1][2]。XPathは、XSLT と XSL-FO とともに XSL の構成要素である。2007年1月23日、W3C で XPath 1.0 の次期バージョンが制定され、XPath 2.0 が XSL

    XML Path Language - Wikipedia
  • Firefox 3.6 での XPath による要素取得: Days on the Moon

    Firefox 3.6 にしたら、動的に生成した文書からの XPath による要素取得ができなくなったという報告が挙がっています。 Firefox3.6でdirect_bookmark.jsとdirect_hb.jsのはてブのタグを取得できていない問題(未解決→解決) - ヴィンペラートル・オクタウィアヌス - vimperatorグループ subscldr.jsが動かなくなったのを直してみた - mountain_dewの日記 この原因は、Firefox 3.6 で HTML 要素の名前空間の扱いが変わったことにあります。Firefox 3.6 (Gecko 1.9.2) では、HTML5 に従い、HTML 要素が (XML 文書中でなくても) XHTML の名前空間 (HTML5 でいうところの「HTML の名前空間」) http://www.w3.org/1999/xhtml に属す

    Cherenkov
    Cherenkov 2010/01/26
    ほえ~。firefox 3.6
  • 特定のclass属性を持った任意の要素にマッチするXPath | 3.14

    結論特定のclass属性を持った任意の要素にマッチするXPath(hogeは指定したいclass属性名) //*[contains(concat(" ",normalize-space(@class)," "), " hoge ")] 特定の要素にしたい場合は適当に div[contains(concat(" ",normalize-space(@class)," "), " hoge ")] などとする. 概要特定のclass属性を持った任意の要素にマッチするXPathというのはアドオンやUserJavaScriptスクレイピングの際にDOMノードを特定するために良く使いますが,XPathの書き方がマズイ人がたまにいます.普通に考えたらXPathはこうなります. XPath1:: //*[@class="hoge"] class属性は以下の引用部分に書かれているとおり,スタイルシート以

    Cherenkov
    Cherenkov 2009/11/26
    めんどくさい話。//*[contains(concat(" ",normalize-space(@class)," "), " hoge ")]
  • 自分でAutoPagerize対応のスクリプトを書く簡単な方法 - blooo

    ちょっとアレなタイトルですが、GreasemonkeyでAutoPagerize対応のスクリプトを自作する時の注意点を2つメモ。 自分はひよっこですが、これからGreasemonkeyスクリプト書いてみようかなという人の助けに少しでもなれば嬉しいです。 継ぎ足されたページに適用する方法 AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - 0xFF を参考に、AutoPagerize_DOMNodeInsertedを使うことにする。 以前はaddFilterとかGM_AutoPagerizeLoadedとか出てくる書き方をしていたんだけれど、この方法がやはり簡単・シンプルなので採用させて頂きました。 継ぎ足されたページ「のみに」適用する方法 新しく継ぎ足されたページのみに、スクリプトの内容を適用・反映したい場合。 注意しないと、継ぎ足されたページのみに適用

    自分でAutoPagerize対応のスクリプトを書く簡単な方法 - blooo
    Cherenkov
    Cherenkov 2009/11/22
    Pagerizeで追加したノードにXPathで検索をするときは.//とする。
  • FirefoxのE4XはXPathより便利? - bits and bytes

    つい最近FirefoxのXMLオブジェクトがすごく便利なのを知りました。そして、そのXMLオブジェクトサポートのことをE4X(ECMAScript for XML)と呼んでいたというのを今知りました.... E4Xについては ECMAScript for XML (E4X) 仕様邦訳 を翻訳された nanto_viさんが書かれている E4X in Firefox が詳しいです。 しょせんはさっきE4Xがなんなのかを知った程度なのでちゃんとしたことは他のページを参照していただくことにして、11.2 左辺式 に書かれているアクセサと選別述語演算子でXPathと同じようなことができて、それがXPath以上に便利なところがありますよ、というはなしだけ書こうと思います。 E4XについてECMAScript for XML (E4X) 仕様邦訳序文には このプログラミング言語拡張は、世界中のもっとも大

  • URLとXPathを渡すと値を返すツールをもっと極悪ぶっこ抜きができるツールに改造してる - fubaはてな

    jottitのほうに公式ページをつくりました。 値がとれるだけでは退屈、ページ辿りたいし、その先も辿りたいので機能追加。ずいぶんたくましくなりました。あとはキャッシュができればいいですねー。 追加したオプション n 次のページ(別に次じゃなくてもいいけど)のURLを返してくれるXPath、いっぱいマッチさせても最初の1つしかたどりません d ページを辿る回数、デフォルト1 s HTML::Elementがマッチしてる場合にHTMLソースを吐く f 処理しているURLも出力し、結果の値の前にはタブがついているフォーマット(いまひとつなのでなんとかしたい) URLのかわりに- 標準入力から改行区切りでURLをうけとる ためす twitterのfollowingリストを0回ページ継ぎ足しして、そこから抽出したユーザリストのfavoritesをさらに確認、彼らのfavってるユーザ名を集計する。 %

    URLとXPathを渡すと値を返すツールをもっと極悪ぶっこ抜きができるツールに改造してる - fubaはてな
    Cherenkov
    Cherenkov 2009/03/21
    画像とかファイル目当てならダウンローダ使えばいい。この男にはでっかい夢がある。
  • XPathGraph

    ただいま6月7日以降に新しく作成したグラフが更新されない不具合を確認しています。原因調査中ですが、マッシュアップ先のはてなグラフの影響の可能性もあり解決までしばらく掛かるかもしれません。ご不便をお掛けしまして申し訳ございません。作成済みのグラフに関しては問題なく更新されています。また登録についても(更新はされないものの)可能です。 XPathからグラフを生成。 XPathGraphはウェブサイト上にある数値を定期的に取得し、自動的にグラフを作成するサービスです。取得したい数値を含むノードをXPathで指定すると、その日に巡回した結果をグラフに追加していきます。[詳しく] 例えば こんなグラフを作成出来ます 為替 no description 2008年11月12日 18:28 怖い絵2Amazonランキング no description 2008年12月18日 20:09 microSDH

    Cherenkov
    Cherenkov 2009/03/19
    はてな hatena かと思ってたけどカヤックだったか グラフ 図 はてなグラフ
  • JavaScript: document.evaluateの第2引数に特定のノードを指定したときは頭に/を使ってはいけない - mayokara note

    XPath で "//" を使う時は気をつけようという話 « のっち大好きの会 分室 第2引数を指定しても、頭に/をつけると無関係にルートノードが選択される。 document.evaluate('/', document.getElementById("menu"), null, 7, null).snapshotItem(0).nodeName // -> "#document" document.evaluate('//*', document.getElementById("menu"), null, 7, null).snapshotItem(0).nodeName // -> "HTML" document.evaluate('//*', document.getElementById("menu"), null, 7, null).snapshotLength // -> 6

    Cherenkov
    Cherenkov 2009/03/16
    第2引数の指定を生かすには。頭に.をつける。
  • どう書くXPath:ここからここまで - os0x.blog

    XPathの不便なところ - ぶろぐ。@はてなより、http://labs.cybozu.co.jp/blog/akky/archives/2009/02/interviewd-by-junior-high.html文を取るXPathを考えてみた。 とりあえず、2パターン。*1 id("center")/div/*[preceding-sibling::*[following-sibling::h2] and self::*[not(preceding-sibling::p[@class="posted" and a])]]id("center")/div/*[self::h2[following-sibling::h3] or (preceding-sibling::h2 and following-sibling::p[@class="posted" and a]) or self

    どう書くXPath:ここからここまで - os0x.blog
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    Cherenkov
    Cherenkov 2009/01/22
    resolverとかprefix/名前空間/namespace
  • document.contentType == "application/xhtml+xml"なページでの$X - os0x.blog

    document.evaluateと名前空間がわからない - by edvakf in hatenaへのレスです。 document.contentTypeが"application/xhtml+xml"の場合、名前空間があるので、通常のXPathでは要素を取得できません。resolverとprefixが必要になります。*1 で、m.twitterはHTTPヘッダーで Content-Type: application/xhtml+xml; charaset=UTF8; charset=utf-8を返しているので、XMLとして扱われ、そうでない大抵のサイトはHTML上でXHTMLを宣言していても、text/htmlで返すので、HTMLとして扱われます。 Content-Type: text/html; charset=utf-8繰り返しですが、 namespace がある Document

    document.contentType == "application/xhtml+xml"なページでの$X - os0x.blog
    Cherenkov
    Cherenkov 2009/01/22
    resolverとかprefix/名前空間/namespace
  • XPathおよびNamespaceの手引き

    B XPathおよびNamespaceの手引き この付録では、W3CのXPath勧告、Namespace勧告およびInformation Set(情報セット)の概要を説明します。 この付録の内容は次のとおりです。 W3CのXPath 1.0勧告の概要 XPath式 ロケーション・パス XPath 1.0のデータ・モデル W3CのXML Namespace勧告の概要 W3CのXML Information Setの概要 W3CのXPath 1.0勧告の概要 XPathは、XML文書の一部を指定するための言語であり、XSLTとXPointerの両方で使用されるように設計されています。XPathは、検索言語または問合せ言語として使用できるのみでなく、ハイパーテキスト・リンクでも使用できます。この付録で示すXPathの手引きは、W3CのXPath勧告から抜粋したものです。 XPathは、文字列、数

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    Cherenkov
    Cherenkov 2009/01/18
    body中の<!--コメントノード-->を取得するXPath
  • フィードをオートディスカバリーする XPath - IT戦記

    こんな感じ document.evaluate('/html/head/link[contains(concat(" ", @rel, " "), " alternate ") and (@type = "application/x.atom+xml" or @type = "application/atom+xml" or @type = "application/xml" or @type = "text/xml" or @type = "application/rss+xml" or @type = "application/rdf+xml")]', document, null, 7, null) ブックマークレットにしてみる javascript:var ___r=document.evaluate('/html/head/link[contains(concat(" ", @r

    フィードをオートディスカバリーする XPath - IT戦記
    Cherenkov
    Cherenkov 2008/12/21
    xpath記述サンプル
  • HTML と XHTML で同じ XPath を使う: Days on the Moon

    通常、XPath を書くときは //p のようにすることが多いと思いますが、これには名前空間の指定が含まれていないため、XHTML 文書 (MIME タイプが application/xhtml+xml で提供されている文書) では使えません。これに対するアプローチとしては、//h:p のようにあらかじめ XPath 式に名前空間の指定を含めておき、リゾルバによる名前空間接頭辞の解決時に HTML と XHTML とで処理を分けるというのが一般的でした。「XPathNSResolver のクロスブラウザとか」や「document.contentType == "application/xhtml+xml"なページでの$X」で扱っている方法です。 とはいえ、いちいち名前空間接頭辞を指定するのは面倒くさいですし、同じ名前空間に対する接頭辞が人によって違うのも不便です。XPath 式の中で要素名