0

我正在尝试从网站上抓取一些内容,但您必须先登录才能查看特定内容。我想使用用户 ID 和密码登录并保持会话 cookie:m.amway.com 我尝试使用 Jsoup.... 但是在使用下面的代码后,我意识到 Jsoup 无法读取网站所基于的 javascript .... 有没有人可以使用 Jsoup 以外的方法登录、保留会话 cookie 和抓取内容?提前致谢。

public String Jlogin(String User, String Pass) throws Exception{

    String title = "didnt work";

        Response logRes = Jsoup.connect(AmwayURL)
                .data("userid", User)
                .data("userpswd", Pass)
                .method(Method.POST)
                .execute();
        // get all cookies
        Map<String, String> cookies = logRes.cookies();
        Document doc1 = logRes.parse();
        String sessionId = logRes.cookie("JSESSIONID");
        Document doc2 = Jsoup
                .connect("https://m.amway.com/business/volume/pvbv/inquiry.ashx")
                .cookie("jsessionid", sessionId).get();
        System.out.println(doc2);

        title = doc2.toString() + "................." + sessionId;

    return title;
}
4

1 回答 1

0

您可以使用一个更大的 API,称为 HttpClient。

具有以下类: - HttpGet - HttpPost - HttpEntity - HttpResponse

HttpResponse 从任意页面读取Javascript,如下: EntityUtils.toString(HttpResponse.getEntity());

有关如何使用 API 的更多详细信息,请查看此链接(非常有帮助): http ://www.codeblues.in/blog/?p=5

于 2013-03-09T00:14:52.963 回答