このメソッドを使用して、Webページを_org.jsoup.nodes.Document
_オブジェクトに取得しました。
myDoc = Jsoup.connect(myURL).ignoreContentType(true).get();
このオブジェクトをHTMLファイルに書き込むにはどうすればよいですか?メソッドmyDoc.html()
、myDoc.text()
およびmyDoc.toString()
は、ドキュメントのすべての要素を出力するわけではありません。
Javascript要素の一部の情報は、解析中に失われる可能性があります。たとえば、Instagramメディアページのソースの「timestamp」。
無視される要素があるという事実は、Jsoupによる正規化の試みによるものであるに違いありません。
正規化を行わずにサーバーの正確な出力を取得するには、これを使用します。
Connection.Response html = Jsoup.connect("PUT_URL_HERE").execute();
System.out.println(html.body());
doc.outerHtml()
を使用します。
import org.Apache.commons.io.FileUtils;
public void downloadPage() throws Exception {
final Response response = Jsoup.connect("http://www.example.net").execute();
final Document doc = response.parse();
final File f = new File("filename.html");
FileUtils.writeStringToFile(f, doc.outerHtml(), "UTF-8");
}
例外をキャッチすることを忘れないでください。依存関係を追加するか、Apache commons-ioライブラリをダウンロードして、UTF-8形式でファイルを簡単かつ迅速に保存します。