2016-10-25 18 views
-2

私はデータを掻き取ろうとしているASP Webサイトを持っています。ウェブサイトには、進捗バーを表示した後に結果を返す検索ページがあります。結果は同じページに返されます。私はJavaでスクレイピングスクリプトを書いています。しかし、それは私の結果を表示せずにWebページを表示し続けます。同じページに表示される結果の内容が必要です。Javaを使用してASP Webサイトからデータをスクラップする方法は?

投稿リクエストでパラメータを送信していますが、結果ページが表示されることを期待しています。 私はHtmlUnitと基本的なJavaの要求応答を使用しようとしましたが、それは動作しませんでした。 私を助けてください。ベローは私のコードスニペットです。念のため。

 URL url = new URL(base_url); 
     HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); 
     connection.setDoOutput(true); 
     connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 

     response = print_content(connection); 
     String viewstate = get_view_state(response); 
     connection.disconnect(); 

     url_params = "my-necessary-url-params"; 

     WebClient client = new WebClient(BrowserVersion.CHROME); 
     WebRequest request = new WebRequest(url, HttpMethod.POST); 
     request .setAdditionalHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
     request .setRequestBody(url_params); 

     try { 
      HtmlPage page = client.getPage(cswa_request); 
      client.waitForBackgroundJavaScriptStartingBefore(5000); 
      client.getOptions().setThrowExceptionOnFailingStatusCode(true); 
     } catch (Exception e) { 
      System.out.println(e.getMessage()); 
     } 

ご意見やご感想はありがとうございます。ありがとう。

+1

ウェブサイトはおそらくAJAX経由で検索結果を読み込んでいます。そのAPIのURLを調べる必要があります。 – Thilo

+0

@Thilo AJAXリクエストはありません。表示されるのは1つのデータベース結果だけです。 – Nevermore

+0

あなたがダウンボートの場合。理由を述べてください。ありがとう – Nevermore

答えて

0

selenium - ダイナミックコンテンツの作成(AJAXなど)でもうまく機能します。ネット上のチュートリアルのヒープ。

+0

はい。私はセレンもやってみた。しかし、IMHO SeleniumとHtmlUnitは同じ結果を出します。 – Nevermore

関連する問題