私は提供されたURLからウェブページのタイトルを取得する予定のソフトウェアを作っており、それを達成するためにJSoupを試してみました。私は次の例外を取得するときですhttp://www.ninsheetmusic.org/download/pdf/2066 :pdf url(jsoup)からhtmlコンテンツを取得
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/pdf, URL=http://www.ninsheetmusic.org/download/pdf/2066
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:689)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:628)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:260)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:249)
at core.Request.parseTitle(Request.java:54)
at core.Request.<init>(Request.java:29)
at core.GrakeBot.parseRequest(GrakeBot.java:161)
at core.GrakeBot.onMessage(GrakeBot.java:59)
at org.jibble.pircbot.PircBot.handleLine(PircBot.java:990)
at org.jibble.pircbot.InputThread.run(InputThread.java:92)
を今私はそれを取る リンクは、彼らと完璧に動作しますが、時折入力はそうのようなPDFの形式になりますユーチューブとJSoupからほとんどですJSoupはpdfを処理しませんが、この例外を回避してWebページタイトルを取得するために私がここでできることは何ですか?
private String parseTitle(String link)
{
Document doc = null;
String title = "Title could not be retrieved";
if (getType() == RequestType.YOUTUBE)
{
try
{
doc = Jsoup.connect(getLink()).get();
title = doc.getElementById("eow-title").text();
} catch (IOException e)
{
e.printStackTrace();
}
return title;
}
else if (getType() == RequestType.SHEET)
{
try
{
doc = Jsoup.connect(getLink()).get();
title = doc.getElementsByTag("title").text();
} catch (IOException e)
{
e.printStackTrace();
}
return title;
}
else
return title;
}
をインストールすることです*の「Apache PDFBoxはあなたが望むものであるように見えます"* - 厳密に言えば、Apache PDFBoxは、OPがこのタスクに使用できる多くの* PDFライブラリの1つです。 – mkl
Apacheを追加する気がします。PDFBoxは私の目標には最適ではありません。 もし私が間違っていたら、私は本当に馬鹿なことを言っているかもしれません。 firefoxで前述のリンクを開き、Page Inspectorを開くと、htmlコードがあり、実際には
@RamzahBeoulveあなたは普通のソケット接続を開いて、それをJSoupで解析することができます。 –