0

別のページで別の vCard を使用しているクライアントがいます。これらはワードプレスのテキスト フィールドに貼り付けられています。(人々のリストを維持する最も効率的な方法ではありませんが、後で編集するつもりはありません。) 私の使命は、vCard 内のすべてのアドレスを解析し、情報を中央データベースにダンプするものを作成することです。これにより、すべての異なるページが、Google からの緯度と経度の座標でいっぱいのアドレスになり、ピンがたくさんある素敵なフロント ページを表示することができます。
このページには、サイトの残りのページからのすべての vcard が表示されます。

ああ、これはサイト上の vcard のサニタイズされた例ですが、実際には多くの疑わしい HTML コードに囲まれています。

<div class="vcard">
<span class="fn org">XYZ Org Name</span><br />
<span class="url">http://www.someurl.com/</span>
<div class="adr"><span class="street-address">1234 Main Ave</span><br />
<span class="locality">Chicago</span><br />
<span class="region">IL</span><br /><span class="postal-code">60647</span></div>
</div>

現在、各ページにはこれらのいずれかがあり、サイト全体をくまなく調べてそれらを配列に収集することは、私のリーグから少し外れています. PHP と mySQL を使用して、それらをデータベースにダンプすることができます。
どんなアドバイスでも大歓迎です!
編集:これがどれほど重要かはわかりませんが、別のサーバーからデータを取得しています。

4

2 に答える 2

0

HTMLパーサーを探していると思います。これはPython用のHTML解析モジュールです

すべての HTML ファイルから関連データを解析してから、それを処理する必要があります。

推奨するphp htmlパーサーは試していませんが、Webサーバーで作業しているので、perlがあることを願っていますか? perl html parserを見てください。

#このスニペットは組織名の内容を取得します

 sub start {
      my ($self, $tag, $attr, $attrseq, $origtext) = @_;

      if ($tag =~ /^span$/i && $attr->{'class'} =~ /^fn org$/i) {
          # see if we find <span class="fn org"
          push (@org_names, $origtext);
      } 
  }

これ@org_namesで、すべての組織名を含む配列ができました。

于 2009-10-31T02:23:41.167 に答える