2012-03-15 4 views
1

<で非表示になっているphp(file_get_contents?)のウェブサイトを読みたいと思います。span style = 'display:none;' >。PHPを使用してリモートWebページから隠しコンテンツを抽出するにはどうすればよいですか?

4例:

  1. U <スパンスタイル= '表示:なし;' > wsebv < /スパン> <U> </U > rfahr
  2. Z <スパンのスタイル= '表示:なし;' > E <I> </I > I <スパン> < /スパン> NHV < /スパン> <B> </B >
  3. Böhrdorf<I> </I > < iが> </I > B <スパン> </span >e <i > </i > n <スパンスタイル= '表示:なし;' > einhv < /スパン> <U> </U >ベルク
  4. K <スパンのスタイル= '表示:なし;' > s <i> </i > d < span style = 'display:none;' > d < span style = 'display:none;' > b <スパンスタイル= '表示:なし;' > n < span style = 'display:none;' > v <i> </i > b < span style = 'display:none;' > H <I> </I > gawe < /スパン> <U> </U > AOI < /スパン> <B> </B > hvws < /スパン> <B> </B > aoir < /スパン> <b > </b > asud </span > <b </b > asu </span > <b> </b > irchdorf/Kr。

結果は次のようになります。

  1. Urfahr
  2. Zöhrdorf
  3. Babenberg
  4. キルヒドルフ/ Krを。この問題を解決するための

つの可能なアプローチ(私はそれらを実装する方法がわからない):
A)その内容
Bとのすべてのスパンタグを削除)プログラム上だけVISIBLEコンテンツを読む

事前にあなたの助けに感謝します!

+0

あなたの2つのアプローチは何をしましたか?いくつかのコードを表示 –

+0

Uwsebvrfahr - それはhtmlで来るのですか?ブラウザではUrfahrのように見えますか?もしそうなら、javascriptのみをデコードすることができます(ブラウザーでJavascriptを無効にして確認し、ページをリロードすることができます)。このjavascriptを見つけて、エンコーディングアルゴリズムを分析する必要があります。 – heximal

+0

ええ、 ''タグを削除してください - 単純な正規表現がこのトリックを行います。 – halfer

答えて

0

スタイルが適用されているということは違いはありません。 PHPには単なるテキストだけです。

試してみてください。

<?php 
$url = 'http://....'; // URL you're scraping. 
$html = file_get_contents($url); 
$text = strip_tags($html); 
echo "<PRE>$text</PRE>"; 
+0

残念ながら。次のコードで試してみてください。ブラウザー出力で "Ergebnisse"の3回目の検索を検索し、難読化された行を見てください。 <?php $ url = "http://www.fussballoesterreich.at/netzwerk/datenservice/379402779304830775_O~733830065019629299~744933674800963515~0~1.htm"; $ html = file_get_contents($ url); $ text = strip_tags($ html); エコー "

$text
"; ?> – tomfly

1

http://sourceforge.net/projects/simplehtmldom/files/latest/download?source=files

include('simple_html_dom.php'); 

$html = file_get_html('http://www.fussballoesterreich.at/netzwerk/datenservice/379402779304830775_O~733830065019629299~744933674800963515~0~1.htm'); 

$i = 1; 
foreach($html->find('.mannschaft a') as $e) 
{ 
    $x = html_entity_decode($e->innertext, ENT_QUOTES, 'UTF-8'); 
    $x = preg_replace('#<(.*)>#', '', $x); 
    echo $i, '. ', $x, '<br />'; 
    $i++; 
} 

結果:

1. Garsten 
2. S. Valent.ASK 
3. Bumgartenberg 
4. Neuhofen/Krems 
5. Admira 
6. Asten 
7. Enns 
8. Pasching 1b 
9. S. Florian 1b 
10. SValentin SC 
11. Hörsching 
12. S Ulrich 
13. Wdischgarsten 
14. Doppl-Hart 

が、ここで私の仕事は

が行われます。

+0

私のカップが走り出す。 – Pateman

+0

ありがとうございました!これは良い解決策ですが、ネストされたスパンが使用されているときは機能しません! – tomfly

+0

@tomfly、コードを更新して、今すぐチェックしてください。 –

関連する問題