这篇文章主要介绍了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爬虫实战之模拟登陆的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!