6 返信 最新の回答 日時: Feb 12, 2016 5:44 PM ユーザー:takalovene

    htmlタグの出現回数と、出現回数での行の取得。

    takalovene

      誰か教えて頂きたいのですが、
      filemakerにて
      Html ソースを取得して
      Positionなどの関数を用いる場合
      一般的なタグだと、相当数が使われていて
      該当の出現回数など、探るのに時間がかかってしまう場合があるかと思います。

      Macを使っており、コトエディターだと、出現回数の総数はすぐ出るのですが
      抜きたい箇所の、タグの回数を調べるには
      目視して数えないといけないので
      何か合理的な方法で、この位置のこのタグは
      何回めの表示なのかすぐ調べるツールとか何か御座いますでしょうか。

      皆様はどうなさってますでしょうか。

        • 1. Re: htmlタグの出現回数と、出現回数での行の取得。
          user14047

          <div id="hoge"> のような id 付きのユニークなタグを見つけて、そこから閉じタグ(ないしは次のユニークなタグ)までを塊として取り出し、どんどん幅を狭めていくようにすれば大抵のサイトはスクレイピング出来るかと思います。

          同じような計算式を繰り返すことになりますから、FileMaker Pro Advanced でカスタム関数を使うとぐっと作業が楽になりますよ。

          • 2. Re: htmlタグの出現回数と、出現回数での行の取得。
            takalovene

            お返事ありがとうございます。

            ユニークなタグであれば良いのですが

            終わるポイントが

            </div>

            など、

            何度も出現して

            何個めのポイントなのか見つけ出す場合に

            大変なのでそのツールなどあるかなと思っております。


            冒頭でのユニークなタグを見つけるのは容易ではあるのですが

            文末を定義する部分で難儀しております。

             

            • 3. Re: htmlタグの出現回数と、出現回数での行の取得。
              user14047

              例えば、https://community.filemaker.com/welcome からニュースの項目を取ろうと思ったら、

              ニュース近くの id が振られたタグに注目します。

              とりあえず、<div class="fmwidget fmbox" id="fmNews"> このあたり。

              これの閉じタグは</div>のいくつ目かよく分からないので、次の項目、ディスカッションの始まり

              <div id="jive-widgetframe_20000"

              までを一塊として一旦取り出し変数に格納します。

               

              この取り出した中から、

              <td class="jive-table-cell-title">

              の数を PatternCount ( $newsHtml ; "<td class=\"jive-table-cell-title\">" ) で数えて Loop でその数分の処理をする形をとります。

              <td の閉じタグ </td> は必ずすぐ近くにあるので(テーブルが入れ子になっていたら別ですが...)

              <td class="jive-table-cell-title"> の1番目から、次の</td> まで。<td class="jive-table-cell-title"> の2番目から、次の</td> まで...

               

              どんなサイトのどんな HTML かわかりませんが、HTML を眺めて規則性を見つけ出していけばなんとかなるかと思います。

              (手書き HTML のように規則性が全くないとお手上げですが...)

              • 4. Re: htmlタグの出現回数と、出現回数での行の取得。
                Hiro.

                マルチポストはマナー違反で嫌われますよ!! 他方の放置されたままの回答レスに返信して下さい。

                 

                目的位置クリック(カーソル挿入)+ OnObjectKeystrokeトリガー Get(トリガー入力)Get(アクティブ選択位置) の組合せで選択位置(選択タグも算出可能)は一発で取り出せる。

                ・ただし、この方法も、皆さんお尋ねの具体的なと目的抽出内容が分からないと、定かではない。

                ・少なくとも、対象HTML文のテキスト内容によっては正確な位置検知が出来ないケースがある、など。

                • 5. Re: htmlタグの出現回数と、出現回数での行の取得。
                  takalovene

                  お返事ありがとうございます。

                  非常に参考になりました。

                   

                  この考えの処理があるんですね。

                  こちらで解決致しました。

                  有難うございます。

                  • 6. Re: htmlタグの出現回数と、出現回数での行の取得。
                    takalovene

                    申し訳ございません。返信したつもりが出来てなかったようです。

                    ご指摘有難うございました。

                     

                    こちらもソースを絞り込んだ後にも有効な手段でありますね。

                    有難うございました。