(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Java】Jsoup.connect.getでcurlコマンドライクにHTMLを取得する

スポンサーリンク

はじめに

JavaでHTML の解析・編集を行うためのライブラリにjsoupがあります。

環境情報
  • jsoup-1.13

利用の流れ

以下サイトからjarファイルをダウンロードします。

ファイル名は以下でした。

jsoup-1.13.1.jar


上記のライブラリを外部jarファイルとして追加してコード内から利用できるよにすれば以下をインポートして

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

以下のように記載すれば任意のURLに対してHTMLの取得が可能です。

String url = "https://search.yahoo.co.jp/realtime";
Document document = Jsoup.connect(url).get();
String str = document.html();

これだけの記述で文字列strにhtmlが入っています。

補足

画像ファイルが格納されているURLに対して取得をかけると以下のようなエラーになりました。

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=400, URL=https://...png}
	at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:707)
	at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:297)
	at org.jsoup.helper.HttpConnection.get(HttpConnection.java:286)

同URLをcurlコマンドで叩くと以下のようになります。

$ curl https://.png
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

以上、備忘録記事でした。