2

私はウェブサイトをスクレイプし、html構造を維持してすべての表示テキスト(リンク、段落、見出しなど)を変更し、その後「新しい」ページをレンダリングしようとしています。

基本的に、デザインや機能を損なうことなく、すべての読み取り可能なテキストをスクランブルしたいと思います。

Zend_Dom_Queryで試しましたが、テキストだけを選択するにはどうすればよいですか?

    $dom = new Zend_Dom_Query($html);
    $results = $dom->query( ??? );

または、これを行う別の/より良い方法はありますか?

よろしくお願いします。


入力:

<html>
  <head>....</head>
  <body>

    <div>
      <h1>Headline</h1>
      <h2>Subheadline</h2>
      <p>Some text</p>
      <a href="...">
        A Link 
        <img src="..." />
        <span style="display:none">additional text</span>
      </a>  
    </div>

  </body>
</html>

出力:

<html>
  <head>....</head>
  <body>

    <div>
      <h1>Hinladee</h1>
      <h2>Suialebdhne</h2>
      <p>Smoe txet</p>
      <a href="...">
        A Lnik 
        <img src="..." />
        <span style="display:none">anodiaditl txet</span>
      </a>  
    </div>

  </body>
</html>
4

2 に答える 2

1

このサービスを試すことができます:http://www.alchemyapi.com/api/text/-そのAPIは、任意のWebページからページテキストとタイトル情報を抽出するための使いやすいメカニズムを提供します。簡単な方法です。もう1つの方法は、http://www.alchemyapi.com/api/scrape/を使用することです。

于 2011-07-06T07:38:35.657 に答える
0

解決:

@Yoshiと@Gordonに感謝します。これはまさに私が探していたものです:

$dom = new Zend_Dom_Query($html);
$results = $dom->query("//text()");
于 2011-07-07T22:38:16.040 に答える