我正在製作一個軟件,該軟件應該從提供的url中檢索網頁的標題並嘗試使用JSoup來實現該目標。 的聯繫大多來自YouTube和JSoup完美的作品和他們在一起,但偶爾的輸入會以概率密度函數,像這樣的形式:http://www.ninsheetmusic.org/download/pdf/2066 這時候,我得到以下異常:從pdf中獲取html內容url(jsoup)
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)
現在我把它JSoup不處理pdf,但有什麼我可以在這裏做,以避免這種異常,並獲得網頁標題?
這是我現在使用的代碼:
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庫之一... – mkl
我覺得添加Apache PDFBox對於我的目標並不是最佳選擇。 我可能會說這裏真的很愚蠢,糾正我,如果我錯了: 通過在Firefox中打開上述鏈接並打開頁面檢查器,我發現有一些HTML代碼,實際上有一個
@RamzahBeoulve你可以打開一個普通的套接字連接,然後用JSoup解析。 –