2016-08-05 11 views
0

ウェブサイトのHTMLページ(例:http://htmlunit.sourceforge.net)を取得しようとしていますが、IlleagalArgumentExceptionというエラーが発生しました:宣言されたフィールドクラスorg.apache.http.impl.client.HttpClientBuilder.dnsResolver 。私のコードは以下の通りです:htmlunitを使用してHTMLページを取得する

public class Main1 { 
    public static void main(String[] args) { 
      try { 
       homePage(); 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 

    public static void homePage() throws Exception { 
      try (final WebClient webClient = new WebClient()) { 
       final HtmlPage page = webClient.getPage("http://www.google.com"); 
       String text = page.asText(); 
       System.out.println(text); 
      } 
     } 
    } 

コードに何か問題はありますか?ありがとう

+0

なぜページを取得する必要がありますか?あなたはそれを解析したいですか? – Tugrul

+0

@Tugrul yeah私はそれを実際に解析する必要がある、私はhtmlunitがページのhtmlとjavascript要素を解析できることを読んでいる。 –

+0

私の提案をチェックしてください。 – Tugrul

答えて

1

jsoup parserを使用できます。

リトルコードサンプル

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); 
Elements newsHeadlines = doc.select("#mp-itn b a"); 

高度な使い方

File input = new File("/tmp/input.html"); 
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); 

Element content = doc.getElementById("content"); 
Elements links = content.getElementsByTag("a"); 
for (Element link : links) { 
    String linkHref = link.attr("href"); 
    String linkText = link.text(); 
} 

参考URLの

+0

JsoupはJavascriptの要素を正しく解析できません。私が必要とするのは実際にはHTMLコンティグJavascriptを得ることができるものなので、htmlunitを試しています –

+0

javascriptだけが必要な場合は、* .js拡張子のためのWeb Scrapperアプリケーションを使用し、ローカルストレージにファイルを保存してください。次に、あなたが望むものを解析します。 – Tugrul

+0

私は実際の現行のページを解析する必要があります。残念ながら、このページは単一ページのアプリケーションであり、後でjavascriptで必要な要素をフェッチします。 Jsoupを使用している場合は、現在の要素ではなく背景ページのみを取得します。 –

関連する問題