0

Web ページを解析しようとしていますが、ページ内のテキストを取得したい場合。Jsoup.parse() および Jsoup.connect().get() メソッドを呼び出すと、Jsoup は間違ったドキュメントを取得します。

これは Web ページと私のコードの一部です。doc var の DOM が間違っています。

 Document doc1 = Jsoup.parse("<p class=\"texto\"><p>El concurso fotogr&aacute;fico internacional <em>Earth and Sky Photo Contest</em> ya tiene <a href=\"http://www.twanight.org/newTWAN/index.asp\" target=\"_blank\">ganadores</a> en su tercera edici&oacute;n. Bajo el tema &ldquo;La Importancia del cielo oscuro&rdquo;, las fotos galardonadas este a&ntilde;o son aquellas que mejor transmiten la belleza de un cielo estrellado y el problema de la contaminaci&oacute;n lum&iacute;nica. Como recuerdan los organizadores, hoy d&iacute;a el exceso de luz artificial en las ciudades hace que las estrellas desaparezcan del cielo urbano. Esta foto del cometa Lovejoy sobre Australia, de Jia Hao, se hizo con el primer premio en la categor&iacute;a \"Belleza del Cielo Nocturno\".</p></p>");

 String summary = doc1.select("p.texto p").text();

doc1 変数の結果は次のとおりです。

 <html>
  <head></head>
  <body>
   <p class="texto"></p>
   <p>El concurso fotogr&aacute;fico internacional <em>Earth and Sky Photo Contest</em> ya tiene <a href="http://www.twanight.org/newTWAN/index.asp" target="_blank">ganadores</a> en su tercera edici&oacute;n. Bajo el tema “La Importancia del cielo oscuro”, las fotos galardonadas este a&ntilde;o son aquellas que mejor transmiten la belleza de un cielo estrellado y el problema de la contaminaci&oacute;n lum&iacute;nica. Como recuerdan los organizadores, hoy d&iacute;a el exceso de luz artificial en las ciudades hace que las estrellas desaparezcan del cielo urbano. Esta foto del cometa Lovejoy sobre Australia, de Jia Hao, se hizo con el primer premio en la categor&iacute;a &quot;Belleza del Cielo Nocturno&quot;.</p>
   <p></p>
  </body>
 </html>

私は何か間違ったことをしましたか?

4

1 に答える 1

0

<html> タグと <body> タグを参照している場合、それは適切なドキュメントのシェル内にフラグメントをラップする Jsoup です。

ただし、最初の XML は次のとおりです。

<p class="texto">
    <p>
        El concurso fotogr&aacute;fico internacional <em>Earth and Sky Photo Contest</em> ya tiene <a href="http://www.twanight.org/newTWAN/index.asp" target="_blank">ganadores</a> en su tercera edici&oacute;n. Bajo el tema &ldquo;La Importancia del cielo oscuro&rdquo;, las fotos galardonadas este a&ntilde;o son aquellas que mejor transmiten la belleza de un cielo estrellado y el problema de la contaminaci&oacute;n lum&iacute;nica. Como recuerdan los organizadores, hoy d&iacute;a el exceso de luz artificial en las ciudades hace que las estrellas desaparezcan del cielo urbano. Esta foto del cometa Lovejoy sobre Australia, de Jia Hao, se hizo con el primer premio en la categor&iacute;a "Belleza del Cielo Nocturno".  
    </p>
</p>

ネストされた<p> 要素が含まれています - これは有効な HTML ではなく、JSoup が修正します。パラグラフの入れ子については、こちらで詳しく説明しています。要するに、パラグラフは自動的に閉じられるため、DOM が期待したものとは異なります。

外側の <p> を <span> に変換することを検討してください。問題ありません。

于 2012-05-22T11:43:05.417 に答える