如何使用Java从ASP网站抓取数据?

时间:2016-10-25 13:17:58

标签: java asp.net web-scraping

我有一个ASP网站,我试图抓取数据。该网站有一个搜索页面,在显示进度条后返回结果。结果将在同一页面上返回。我正在写Java上的抓取脚本。但是,它不断向我展示没有结果的网页。我需要显示在同一页面上的结果内容。

我在post请求中发送参数,我希望显示结果页面。 我尝试过使用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 个答案:

答案 0 :(得分:0)

selenium - 即使使用动态内容创建(AJAX等)也能正常工作。网上有很多教程。