java爬虫实战之模拟登陆的示例分析

这篇文章主要介绍了java爬虫实战之模拟登陆的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

使用jsoup工具可以解析某个URL地址、HTML文本内容,是java爬虫很好的优势,也是我们在网络爬虫不可缺少的工具。本文小编带领大家使用jsoup 实现java爬虫模拟登陆,通过省力的API,很好的实现java爬虫模拟登陆。

一、使用工具:Jsoup

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

二、实现java爬虫模拟登陆

1、确定想要爬取的url

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Map.Entry;
import java.util.Set;
 
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
 
public class SplitTable {
 
    public static void main(String[] args) throws IOException {
        //想要爬取的url
        String url = "http://jwcnew.nefu.edu.cn/dblydx_jsxsd/xskb/xskb_list.do?
Ves632DSdyV=NEW_XSD_PYGL";
        String username = "";
        String password = "";
        String sessionId = getSessionInfo(username,password);
        spiderWebSite(sessionId,url);
    }

2、获取sessionId

private static String getSessionInfo(String username,String password)
 throws IOException{

3、登录网站,返回sessionId信息

Connection.Response res = Jsoup.connect("http://jwcnew.nefu.edu.cn/dblydx_jsxsd/xk/LoginToXk")

4、获得sessionId

 String sessionId = res.cookie("JSESSIONID");
        System.out.println(sessionId);
        return sessionId;
    }

5、爬取内容

private static void spiderWebSite(String sessionId,String url) throws IOException{
 
        //爬取
        Document doc = Jsoup.connect(url).cookie("JSESSIONID", sessionId).timeout(10000).get();
        Element table = doc.getElementById("kbtable");
        //System.out.println(table);
        BufferedWriter bw = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream("F:/table.html")));
        bw.write(new String(table.toString().getBytes()));
        bw.flush();
        bw.close();
    }
}

感谢你能够认真阅读完这篇文章,希望小编分享的“java爬虫实战之模拟登陆的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!