1

サイトからコンテンツを取得する必要がある

私は得る必要があります

/html/body/div/div[2]/table/tbody/tr/td/div/div[2]/form/fieldset[2]/table[2]

また

<table class='properties'>

コードはここに表示されます: http://paste.pocoo.org/show/347881/

すべてのコンテンツが新しい行だけでフォーマットされたコンテンツ。パディングやその他のフォーマットは気にしません。新しい行を維持したいだけです。

たとえば、適切な出力は次のようになります。

tájékoztató
az eljárás eredményéről
A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki
A hirdetmény kézhezvételének dátuma____________________
KÉ nyilvántartási szám_________________________________
I. SZAKASZ: AJÁNLATKÉRŐ
I.1) Név, cím és kapcsolattartási pont(ok) 

新しい行がdivで導入され、それを取得できないという問題に直面しています。

アップデート

これは PHP cron によって実行されるため、JS にはアクセスできません。

4

2 に答える 2

4

というライブラリがありますphpQuery: http://code.google.com/p/phpquery/

次のように DOM オブジェクトをウォークスルーできますjQuery

phpQuery::newDocument($htmlCode)->find('table.properties');

一致した要素のコンテンツが発火strip_tagsすると、そのテーブルの純粋なコンテンツが取得されます。

于 2011-03-04T09:40:16.573 に答える
2

トリックは、xpath 式で内側の div を取得し、textContent プロパティを使用することです。

<?php

$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("..."));
libxml_use_internal_errors(false);

$domx = new DOMXPath($domd);
$items = $domx->query("/html/body/div/div[2]/table/tr/td/div/div[2]/form/fieldset[2]/table[2]/tr/td/div//div/div[@style='padding-left: 0px;']");

$output = "";
foreach ($items as $item) {
  $output .= $item->textContent . "\n";
}

echo $output;
于 2011-03-04T09:53:15.397 に答える