2017-05-17 40 views
0

私は提供されたURLからウェブページのタイトルを取得する予定のソフトウェアを作っており、それを達成するためにJSoupを試してみました。私は次の例外を取得するときですhttp://www.ninsheetmusic.org/download/pdf/2066pdf 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; 
} 

答えて

0

をあなたはこのためにJSoupを使用することはできません。

これは私が今使っているコードです。これはHTMLではありません。私はソースを見て、受け取ったデータは次のようになります:
%PDF-1.5 %Çì¢ 5 0 obj <</Length 6 0 R/Filter /FlateDecode>> stream xœÍ\]\[³$GqÆö1áë˜à…GœQUf\]ý† Làp8¿¬xÀ+åÐ „1?ÉÿÒy©KöîYítŸÌîÙ¯«ºº.™YyëêßœÜÕÃÉñÿþã嫇÷œO¿üâ!~÷à®Îa©%Qá“?üƒ‡„pŠ Ã5åÓ+E.#£O~ò s5ýñù/~óP®Èÿä‚ýýòÕé? Ç—“Ï×RNü‚:Pk åþTü5”SJpÍpúàÕÃùk—þë!Ôk§þ…áwèÞœ¨·ñÑÃùëRéZJ8=&¹·_ŽW úS}óÒ\[j¾årÙ<í-•‘&3õ"8éóªwïnÀM-\]¡ä=¾ìÚ­béýMô¦èû<üè&rñÙYzQh\]ª¦\¡)ÙÙr…¦<Ù&t›*~>‘«Hq¬Ù78‹cÝ+œÅ›b…£8”h‹Åh‹Å¾$\[Üà,eS¬p{¿)V8Š\]ÞLKƒÂªïZ=bÞäef\[÷£Ï4¸$ÏO1Òo”YŒDG£´üò!æ:Ч)&ªçåžÈ÷D'“£-ƒ×{~ñ÷ú¨Ñ\[y×ôGAö7= ...

あなたはライブラリでそれを解析する必要があります。探した後、それはApache PDFBoxのように見えます。このコードは、ドキュメントやテストされていないからですが、それはあなたが何をしたいかのようになります。左

PDDocument doc = PDDocument.load("http://www.ninsheetmusic.org/download/pdf/2066"); 
PDDocumentInformation info = doc.getDocumentInformation(); 
String title = info.getTitle(); 

唯一のことは、Apache PDFBox :)

+0

をインストールすることです*の「Apache PDFBoxはあなたが望むものであるように見えます"* - 厳密に言えば、Apache PDFBoxは、OPがこのタスクに使用できる多くの* PDFライブラリの1つです。 – mkl

+0

Apacheを追加する気がします。PDFBoxは私の目標には最適ではありません。 もし私が間違っていたら、私は本当に馬鹿なことを言っているかもしれません。 firefoxで前述のリンクを開き、Page Inspectorを開くと、htmlコードがあり、実際にはというタグがあります。 (他にFirefoxはページタイトルを表示するためにテキストを取得しますか?) jsoupでhtmlコードにアクセスしてそこからタイトルを取得する方法はありますか? – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">@RamzahBeoulveあなたは普通のソケット接続を開いて、それをJSoupで解析することができます。 – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">関連する問題</div> <ul class="relative_list"> <li> 1. <a href="http://ja.uwenku.com/question/p-cjbdwqgt-mm.html" target="_blank" title="jsoupを使用してURLからコンテンツを取得する"> jsoupを使用してURLからコンテンツを取得する </a> </li> <li> 2. <a href="http://ja.uwenku.com/question/p-skqlmpdw-du.html" target="_blank" title="JSoup - メタデータからURLを取得する"> JSoup - メタデータからURLを取得する </a> </li> <li> 3. <a href="http://ja.uwenku.com/question/p-aumgecav-dy.html" target="_blank" title="コンテンツからURLを取得"> コンテンツからURLを取得 </a> </li> <li> 4. <a href="http://ja.uwenku.com/question/p-elxenffe-qb.html" target="_blank" title="JavaScriptからURLからコンテンツを取得"> JavaScriptからURLからコンテンツを取得 </a> </li> <li> 5. <a href="http://ja.uwenku.com/question/p-dxgdcjvd-bn.html" target="_blank" title="リダイレクトを使用してURLからHTMLコンテンツを取得する"> リダイレクトを使用してURLからHTMLコンテンツを取得する </a> </li> <li> 6. <a href="http://ja.uwenku.com/question/p-bttpazcz-mn.html" target="_blank" title="URLからHTMLコンテンツをロードするAngularJS"> URLからHTMLコンテンツをロードするAngularJS </a> </li> <li> 7. <a href="http://ja.uwenku.com/question/p-fvhjxmdn-ku.html" target="_blank" title="Jsoupでスパンからコンテンツを取得する方法"> Jsoupでスパンからコンテンツを取得する方法 </a> </li> <li> 8. <a href="http://ja.uwenku.com/question/p-wkiarmvg-mn.html" target="_blank" title="Jsoup HTML動的コンテンツをスクラップ"> Jsoup HTML動的コンテンツをスクラップ </a> </li> <li> 9. <a href="http://ja.uwenku.com/question/p-yqeykfwg-gy.html" target="_blank" title="VBのHTMLリストからコンテンツを取得"> VBのHTMLリストからコンテンツを取得 </a> </li> <li> 10. <a href="http://ja.uwenku.com/question/p-zqaztvfy-ky.html" target="_blank" title="XMLノードからHTMLでコンテンツを取得"> XMLノードからHTMLでコンテンツを取得 </a> </li> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4606349252"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <li> 11. <a href="http://ja.uwenku.com/question/p-gzdhaape-gr.html" target="_blank" title="Scala Webページからhtmlコンテンツを取得"> Scala Webページからhtmlコンテンツを取得 </a> </li> <li> 12. <a href="http://ja.uwenku.com/question/p-wafxergt-ks.html" target="_blank" title="htmlからコンテンツを取得する"> htmlからコンテンツを取得する </a> </li> <li> 13. <a href="http://ja.uwenku.com/question/p-wgeafutw-n.html" target="_blank" title="jsoupでこのhtmlページからテキストを取得するには?"> jsoupでこのhtmlページからテキストを取得するには? </a> </li> <li> 14. <a href="http://ja.uwenku.com/question/p-kgyjsphy-gn.html" target="_blank" title="jsoupで絶対URLを取得する"> jsoupで絶対URLを取得する </a> </li> <li> 15. <a href="http://ja.uwenku.com/question/p-xgzbtwtu-pz.html" target="_blank" title="jsoupで画像のURLを取得"> jsoupで画像のURLを取得 </a> </li> <li> 16. <a href="http://ja.uwenku.com/question/p-ovxlbamz-db.html" target="_blank" title="URLを取得するJava JSoupエラー"> URLを取得するJava JSoupエラー </a> </li> <li> 17. <a href="http://ja.uwenku.com/question/p-ctzcuidp-cz.html" target="_blank" title="jsoupでhtmlインラインスタイル属性値を取得"> jsoupでhtmlインラインスタイル属性値を取得 </a> </li> <li> 18. <a href="http://ja.uwenku.com/question/p-kctbcbno-kn.html" target="_blank" title="jsoupでクラス名を使用してHTMLコンテンツを取得する方法は?"> jsoupでクラス名を使用してHTMLコンテンツを取得する方法は? </a> </li> <li> 19. <a href="http://ja.uwenku.com/question/p-qkdxcsji-kd.html" target="_blank" title="htaccess - 別のURLから1つのURLのコンテンツを取得"> htaccess - 別のURLから1つのURLのコンテンツを取得 </a> </li> <li> 20. <a href="http://ja.uwenku.com/question/p-sowqpmme-ec.html" target="_blank" title="Jsoupから生の返信を取得"> Jsoupから生の返信を取得 </a> </li> <li> 21. <a href="http://ja.uwenku.com/question/p-zgrqdzfo-py.html" target="_blank" title="APIのコンテンツHTMLを取得"> APIのコンテンツHTMLを取得 </a> </li> <li> 22. <a href="http://ja.uwenku.com/question/p-tklqlwuo-ha.html" target="_blank" title="Jsoup - コードが隠されているhtml URLからの読み取り"> Jsoup - コードが隠されているhtml URLからの読み取り </a> </li> <li> 23. <a href="http://ja.uwenku.com/question/p-sfcxgufs-ko.html" target="_blank" title="React-NativeのウェブサイトURLのhtmlコンテンツを取得"> React-NativeのウェブサイトURLのhtmlコンテンツを取得 </a> </li> <li> 24. <a href="http://ja.uwenku.com/question/p-xfjwdlzx-nd.html" target="_blank" title="NSPasteboard、htmlコンテンツのURLを取得する方法"> NSPasteboard、htmlコンテンツのURLを取得する方法 </a> </li> <li> 25. <a href="http://ja.uwenku.com/question/p-xzceohxv-em.html" target="_blank" title="PDFNetを使用してPDFからURLを取得する"> PDFNetを使用してPDFからURLを取得する </a> </li> <li> 26. <a href="http://ja.uwenku.com/question/p-rfphqtwi-ms.html" target="_blank" title="Jsoupを使用してhtmlからデータを取得するには"> Jsoupを使用してhtmlからデータを取得するには </a> </li> <li> 27. <a href="http://ja.uwenku.com/question/p-fltjtqhj-hm.html" target="_blank" title="外部のファイルからhtmlコンテンツを取得できますか?"> 外部のファイルからhtmlコンテンツを取得できますか? </a> </li> <li> 28. <a href="http://ja.uwenku.com/question/p-kwaxhhbl-w.html" target="_blank" title="facebook iframeから親ページのHTMLコンテンツを取得しますか?"> facebook iframeから親ページのHTMLコンテンツを取得しますか? </a> </li> <li> 29. <a href="http://ja.uwenku.com/question/p-aylzmnuq-hx.html" target="_blank" title="OneNoteアドイン:HTMLコンテンツの取得"> OneNoteアドイン:HTMLコンテンツの取得 </a> </li> <li> 30. <a href="http://ja.uwenku.com/question/p-bdvwxwoc-ko.html" target="_blank" title="ブロックからコンテンツを取得"> ブロックからコンテンツを取得 </a> </li> </ul> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048742"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新の質問 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ja.uwenku.com/question/p-nkhxxxkf-ms.html" target="_blank" title="ウェブクローラが別の出力に同じコードを出力する"> ウェブクローラが別の出力に同じコードを出力する </a> </li> <li class="side_article_list_item"> 2. <a href="http://ja.uwenku.com/question/p-dyvdebqq-nd.html" target="_blank" title="Azureには料金がかかりますが、ポータルには表示されません"> Azureには料金がかかりますが、ポータルには表示されません </a> </li> <li class="side_article_list_item"> 3. <a href="http://ja.uwenku.com/question/p-ckqgawkv-nb.html" target="_blank" title="デコレータで関数呼び出しがサポートされていません"> デコレータで関数呼び出しがサポートされていません </a> </li> <li class="side_article_list_item"> 4. <a href="http://ja.uwenku.com/question/p-gdglsjyl-nh.html" target="_blank" title="Pythonを使用して正弦波を生成するにはどうすればよいですか?"> Pythonを使用して正弦波を生成するにはどうすればよいですか? </a> </li> <li class="side_article_list_item"> 5. <a href="http://ja.uwenku.com/question/p-tdldvdmn-mx.html" target="_blank" title="プロファイルフィールドを検証する"> プロファイルフィールドを検証する </a> </li> <li class="side_article_list_item"> 6. <a href="http://ja.uwenku.com/question/p-tnridxwu-mv.html" target="_blank" title="matplotlibカラーバーの軸のサイズを変更"> matplotlibカラーバーの軸のサイズを変更 </a> </li> <li class="side_article_list_item"> 7. <a href="http://ja.uwenku.com/question/p-ccvtxsfj-my.html" target="_blank" title="AWS RDSからデータ(行)を取得する方法.NET用AWS SDKを使用したMySQLデータベースインスタンス?"> AWS RDSからデータ(行)を取得する方法.NET用AWS SDKを使用したMySQLデータベースインスタンス? </a> </li> <li class="side_article_list_item"> 8. <a href="http://ja.uwenku.com/question/p-mupuyiue-mp.html" target="_blank" title="R:<>ユニコードからレターへのエンコード"> R:<>ユニコードからレターへのエンコード </a> </li> <li class="side_article_list_item"> 9. <a href="http://ja.uwenku.com/question/p-mzfjpnmd-mk.html" target="_blank" title="NUnit3TestAdapterを.Net Standard 2.0で使用するにはどうすればよいですか?"> NUnit3TestAdapterを.Net Standard 2.0で使用するにはどうすればよいですか? </a> </li> <li class="side_article_list_item"> 10. <a href="http://ja.uwenku.com/question/p-twlqroia-mn.html" target="_blank" title="私はNoSuchMethodErrorを修正するにはどうすればよい:私はhadoop.Iにプロジェクトを1D文字列array.its名は「言葉」.I</p> <p>がしたいですしている書いているorg.apache.hadoop.mapred.InputSplit.write"> 私はNoSuchMethodErrorを修正するにはどうすればよい:私はhadoop.Iにプロジェクトを1D文字列array.its名は「言葉」.I</p> <p>がしたいですしている書いているorg.apache.hadoop.mapred.InputSplit.write </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 関連する問題</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ja.uwenku.com/question/p-cjbdwqgt-mm.html" target="_blank" title="jsoupを使用してURLからコンテンツを取得する"> jsoupを使用してURLからコンテンツを取得する </a> </li> <li class="side_article_list_item"> 2. <a href="http://ja.uwenku.com/question/p-skqlmpdw-du.html" target="_blank" title="JSoup - メタデータからURLを取得する"> JSoup - メタデータからURLを取得する </a> </li> <li class="side_article_list_item"> 3. <a href="http://ja.uwenku.com/question/p-aumgecav-dy.html" target="_blank" title="コンテンツからURLを取得"> コンテンツからURLを取得 </a> </li> <li class="side_article_list_item"> 4. <a href="http://ja.uwenku.com/question/p-elxenffe-qb.html" target="_blank" title="JavaScriptからURLからコンテンツを取得"> JavaScriptからURLからコンテンツを取得 </a> </li> <li class="side_article_list_item"> 5. <a href="http://ja.uwenku.com/question/p-dxgdcjvd-bn.html" target="_blank" title="リダイレクトを使用してURLからHTMLコンテンツを取得する"> リダイレクトを使用してURLからHTMLコンテンツを取得する </a> </li> <li class="side_article_list_item"> 6. <a href="http://ja.uwenku.com/question/p-bttpazcz-mn.html" target="_blank" title="URLからHTMLコンテンツをロードするAngularJS"> URLからHTMLコンテンツをロードするAngularJS </a> </li> <li class="side_article_list_item"> 7. <a href="http://ja.uwenku.com/question/p-fvhjxmdn-ku.html" target="_blank" title="Jsoupでスパンからコンテンツを取得する方法"> Jsoupでスパンからコンテンツを取得する方法 </a> </li> <li class="side_article_list_item"> 8. <a href="http://ja.uwenku.com/question/p-wkiarmvg-mn.html" target="_blank" title="Jsoup HTML動的コンテンツをスクラップ"> Jsoup HTML動的コンテンツをスクラップ </a> </li> <li class="side_article_list_item"> 9. <a href="http://ja.uwenku.com/question/p-yqeykfwg-gy.html" target="_blank" title="VBのHTMLリストからコンテンツを取得"> VBのHTMLリストからコンテンツを取得 </a> </li> <li class="side_article_list_item"> 10. <a href="http://ja.uwenku.com/question/p-zqaztvfy-ky.html" target="_blank" title="XMLノードからHTMLでコンテンツを取得"> XMLノードからHTMLでコンテンツを取得 </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://ja.uwenku.com/contact">お問い合わせ</a></li> <li>© 2020 JA.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>