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; }
爬取内容
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爬虫实战之模拟登陆的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341