2012-01-08 3 views
0

私はウェブサイトのURLを読んで、内容のHTMLコードを文字列 に出力したいと思います。文字列内のURLを検索して、他のstring.Anyway私は文字列へのHTMLコードの出力で私を助けたいと思います。 ありがとうございます。私は次のコードを持っています。それは正しいですかウェブサイトのコンテンツを文字列に出力する

URL url = new URL("http://www.example.com/"); 
URLConnection con = url.openConnection(); 
InputStream in = con.getInputStream(); 
String encoding = con.getContentEncoding(); 
encoding = encoding == null ? "UTF-8" : encoding; 
String body = IOUtils.toString(in, encoding); 
+0

しかし、文字列のコードを取得するのに役立つだけで、上記のコードが正しいとすれば、もっと何を望みますか? – Nanne

+0

上記のコードは私の上で動作しません –

+0

まあ、それは何ですか?エラーが発生しますか?あなたは何を見ますか、あなたは期待していますか? – Nanne

答えて

0

私はjericho parsing libraryを使いましたが、非常に便利でした。 Iでは、ドキュメントのHTMLタグを参照し、タグ属性にアクセスできます。例えば 、すべてのリンクのURLを取得するには:(ドキュメントの正確な構文を確認してください)

Source source = new Source(new URL("http://..."); 
List<Element> elementList = source.getAllElements(); // loads all HTML tags in a list 
    for (Element element : elementList) { 
    if (element.getName().equals("A")) { // if <A> tag 
    String segment = element.getContent().toString(); // will give you a string "< a href=...>...</A> 
    String url = element.getAttributeValue("href"); // will return the url of the link 
    } 
} 
0

私はJsoupのHTMLパーサーをお勧めします:http://jsoup.org/download あなたは.jarファイルをしたいです。 これがあれば、htmlを手に入れるのはかなり簡単です。あなたは(そのような使い方が簡単であるScannerクラス、など)通常の文字列のような文字列をトラバースするためにあなたのURLの使用の何かを検索するには

String html = Jsoup.connect("http://url.com").get().html(); 

を言うことができます。あなたができることを使用するには:(もちろんここでは、あまりにもこれを理解するために、APIに見えますが、:)

Scanner in = new Scanner(html); 
String links = ""; 
while(in.hasNext()){ 
    String line = in.nextLine(); 
    if(line.contains("yoursearchingkeyword") 
     links += line.substring(line.indexOf("http"),line.indexOf("</a>") + "\n"; 
} 

リンク文字列があなたのためにリンクを持っているでしょう。

関連する問題