Jsoup可以很方便的模拟浏览器登录,然后根据登录获得sessionid继续做请求来抓取网页的内容。
登录的示例代码如下:
Connection.Response res = Jsoup.connect("http://www.example.com/login.php") .data("username", "myUsername", "password", "myPassword") .method(Method.POST) .execute(); Document doc = res.parse(); //这儿的SESSIONID需要根据要登录的目标网站设置的session Cookie名字而定 String sessionId = res.cookie("SESSIONID");
在上面的代码成功登录后,就可以利用登录的cookie来保持会话,抓取网页内容了
Document objectDoc = Jsoup.connect("http://www.example.com/otherPage") .cookie("SESSIONID", sessionId) .get();